前提条件
Hardhatプロジェクトがセットアップ済みで、スマートコントラクトのデプロイが成功している必要があります。 その方法については Hardhatを使用したスマートコントラクトのデプロイ チュートリアルを参照してください。 任意ですが強く推奨: スマートコントラクトの検証も成功している必要があります。 その方法については Hardhatを使用したスマートコントラクトの検証 チュートリアルを参照してください。Hardhatコンソールの起動
以下のコマンドで対話型Javascript REPLを起動します。Counter スマートコントラクトのインスタンスを作成します。
ethers.getContractFactory(...) と contract.attach('0x...'); を使用します。
例えば、スマートコントラクトが 0x98798cc92651B1876e9Cc91EcBcfe64cac720a1b にデプロイされた場合、コマンドは以下のようになります:
> がシェルプロンプトとして表示されます。
各プロンプトの結果はこのプレフィックスなしで出力されます。
ターミナルの内容は以下のようになります:
counter を使用してスマートコントラクトとインタラクションできます。
関数の呼び出し - クエリ
クエリは読み取り専用の操作です。 そのため、スマートコントラクトの状態は更新されません。 状態変更なしのため、ウォレット、署名、トランザクション手数料(gas)は不要です。 以下のコマンドでvalue() 関数をクエリします。
関数の呼び出し - トランザクション
トランザクションは書き込み操作です。 そのため、スマートコントラクトの状態が更新されます。 状態変更が発生する可能性があるため、トランザクションはウォレットで署名され、トランザクション手数料(gas)を支払う必要があります。 以下のコマンドでincrement(num) 関数のトランザクションを実行します。
gas priceは wei 単位で指定します。
1 wei = 10^-18 INJ。
1n です。0 + 1 = 1 だからです。
Hardhatコンソールの停止
Ctrl+C を2回連続で押すか、.exit コマンドを入力します。
