【Flare Networks】Coston Testnet ③ERC-20
Flare Networksについての理解を深めるべくCoston Testnet上で色々と試している。
XRPにEthereum Virtual Machine (EVM)互換のスマートコントラクト機能を提供するということから、Ethereumと同じことができると考えられる。前回の『【Flare Networks】Coston Testnet ②Smart Contract』では、『Hello, Flare Networks』を返すだけのスマートコントラクトを配備した。
今回は、せっかくなのでスマートコントラクトの学習を兼ねて色々なものをつくって配備・実行してみたいと思い、ERC-20トークンを発行してみることにした。
あくまでもTestnet上であるし、この程度の実験であれば問題ないだろう。
ERC-20トークンは、OpenZeppelinというライブラリを用いると簡単に発行することができる。
Remixで以下のプログラムを作成し、コンパイル、そして[Injected Web3]を指定してWallets経由でFlare NetworksのCoston Testnet上に配備・トークンの発行ができることを確認した。
※配備の際には、WalletsのネットワークがFlare Networksとなっていることに気を付けよう。ネットワークの設定はhttps://github.com/flare-eng/coston#xrp-on-metamask を参考にするとよいだろう。
TestToken.sol
pragma solidity ^0.6.2; import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.1.0/contracts/token/ERC20/ERC20.sol"; contract Token is ERC20 { constructor () public ERC20("Test", "TEST") { _mint(msg.sender, 100 * (10 ** uint256(decimals()))); } }
Add Token
Wallets上に新たに表示トークンを追加するには、配備したコントラクトアドレスを指定すればよい。
Balance
Flare NetworksのCoston Testnet上にERC-20規格のTESTトークンが追加された。EVM互換だからEthereumと同じことができる。
Send Token
発行したトークンは、MetaMaskやBrave BrowserのCrypto Wallets経由で簡単に送ることができる。
受け取り側もAdd Tokenして独自トークンを追加すれば、受け取ったトークンが表示されるようになる。