アルゴリズムとかオーダーとか

仕事で勉強したことなどをまとめてます

Hardhat Consoleの使い方

TruffleからHardhatに乗り換えたので、よく利用しているConsoleの使い方についてもまとめる。
あまりConsoleを直接叩いてEthereumとやりとりする人は見ない気もするが誰かの参考にでもなれば。
いちばんは自分用のメモ。

Hardhatの導入と基本的な使い方は以前の記事を参考に。
y-nakajo.hatenablog.com

accountsの取得

wallets = await ethers.getSigners()
wallets[0].address

実行結果は以下。

wallets sample

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})