EtherscanのWrite ContractでMintやBurnの使い方
Ethereumトークンのエアードロップ機能やMint(ミント)、Burn(バーン)を使う場合はRemix – Solidity IDEを立ち上げて使う方法が一般的でした。
現在はより簡単な方法としてEtherscan内でMetamaskに接続して使えるようになりました。この方法だと時間も掛からず実行できて作業効率が上がります。
今回はEtherscanの新機能であるWrite Contractの詳しい使い方を解説します。
Write Contractの使い方
1.まずはEtherscanにアクセスします。
2.トークンを検索して表示しましょう。
3.Write Contractを開きます。
4.Write Contract with Metamaskをクリックして、Metamaskと接続します。
5.注意事項が表示されます。
これはベータ版の機能であり、「現状のまま」および「利用可能な状態」で提供されています。Etherscanはいかなる保証も行いません。また、この機能を継続的に使用することにより直接的または間接的な損失を免れません。
「OK」をクリックします。
6.アイコンが赤から緑に変わりMetamaskとの接続が完了しました。
7.今回はNANJCOINを例に使って説明します。
次のような機能がEtherscan上で使えるようになっています。
但し、オーナー権限が必要な機能はコントラクオーナーでしか実行できません。
他の人が実行すれば失敗してGASを消費するだけです。
使い方のポイント
Write Contractが次のように表示されて使えないケースもあります。
申し訳ありませんが、この契約で一致する契約ABIまたはソースコードを見つけることができませんでした。
契約のオーナーであれば、ここで契約のソースコードを確認してください。
これはトークンのコードをパブリッシュしていないためです。
次の記事を参考にしてパブリッシュしましょう。
各機能の使い方
オーナーアドレスの移行
オーナーとなるアドレスを変える場合は「transferOwnerShip」を使います。
新しいオーナーのアドレスを入力して、「Write」をクリックします。
Remixではアドレスを「"」で閉じて記述する必要がありましたが、Write Contractでは不要です。
Metamaskが立ち上がりますので処理します。通常と同じようにGASは必要です。
なお、間違ってオーナーアドレスを変えると取り返しの付かないことになるため、慎重に作業してください。
MintやBurn
Mintは発行枚数を増やす機能
Burnは発行枚数を減らす機能
どちらも使い方は同じです。
発行したトークンを受け取るまたは減らすアドレスと増減したい枚数を記入します。
注意点として「_unitAmount」に記入する枚数は小数点を含めてください。
例えば、1万枚増やすのにDecimalsが8であれば、「1000000000000」になります。
distributeAirDrop
NANJCOINには2種類のエアードロップ機能が備わっています。一回のトランザクションで最大200アドレスまでトークンの一括送付が可能です。
まとめて送れるのでGASを抑えて、エアードロップの作業効率が上がります。
1つ目のエアードロップの使い方です。
追記:今回エアードロップ機能が使えるか検証してみましたがWrite Contract上では使えませんでした。 まだまだ、ベータ版のため今後の開発に期待します。他のロックアップ機能やアドレス凍結機能も使えません。
この場合はRemix – Solidity IDEを使用してください。
Write Contractのまとめ
EtherescanのWrite Contractは使いやすいですが、トークンの複雑な機能を利用するにはRemixでないとできません。いずれにしても、今後の完全な開発が待たれます。
実際にWrite Contractを実行する場合は、初回からメインネットワークで使わずにテストネットワークで試してからが良いと思います。予期せぬ動作になり兼ねません。
上手く利用して、トークンの作業効率を上げてください。