TruffleからHardhatに乗り換えたので、よく利用しているConsoleの使い方についてもまとめる。
あまりConsoleを直接叩いてEthereumとやりとりする人は見ない気もするが誰かの参考にでもなれば。
いちばんは自分用のメモ。
Hardhatの導入と基本的な使い方は以前の記事を参考に。
y-nakajo.hatenablog.com
accountsの取得
wallets = await ethers.getSigners() wallets[0].address
実行結果は以下。
walletsに格納されるwallet情報はhardhat.config.jsに設定した秘密鍵等の数となる。内蔵node起動時は20個取得される。
balanceの取得
ethers.providerを取得することで各種RPCが実行可能。以下、はbalanceを確認する例。
me = wallets[0].address await ethers.provider.getBalance(me)
contractのインスタンス化
GLDToken = await ethers.getContractFactory("GLDToken") token = await GLDToken.attach("0x3D2b9dc161Eb862EcdffCde9F7dE21599F70CB11") await token.balanceOf(wallets[0].address)
Truffleだとcontracts/以下のコントラクトは自動的にロードされていたが、hardhatでは手動でロードする必要がある。
contract methodの実行
つまりはsendTransactionする方法。署名のためにwalletと接続する必要がある。
await token.connect(wallets[0]).transfer("0x3D2b9dc161Eb862EcdffCde9F7dE21599F70CB11", 200000)
gasLimitなどを設定したい場合は、引数の最後に指定する。
await token.connect(wallets[0]).transfer("0x3D2b9dc161Eb862EcdffCde9F7dE21599F70CB11", 200000, {gasLimit: 40000})