メインコンテンツへスキップ

前提条件

Foundryプロジェクトがセットアップ済みで、スマートコントラクトのデプロイが成功している必要があります。 その方法については Foundryを使用したスマートコントラクトのデプロイ チュートリアルを参照してください。 任意ですが強く推奨: スマートコントラクトの検証も成功している必要があります。 その方法については Foundryを使用したスマートコントラクトの検証 チュートリアルを参照してください。

関数の呼び出し - クエリ

クエリは読み取り専用の操作です。 そのため、スマートコントラクトの状態は更新されません状態変更なしのため、ウォレット、署名、トランザクション手数料(gas)は不要です。 以下のコマンドで value() 関数をクエリします:
${SC_ADDRESS} をスマートコントラクトをデプロイしたアドレスに置き換えてください。 例えば、スマートコントラクトアドレスが 0x213ba803265386c10ce04a2caa0f31ff3440b9cf の場合、コマンドは以下のようになります:
以下が出力されます。
0x00000000000000000000000000000000000000000000000000000000000000000 を意味します。 これはSolidityの uint256(スマートコントラクトの value() 関数の戻り値の型)の16進数生表現です。

関数の呼び出し - トランザクション

トランザクションは書き込み操作です。 そのため、スマートコントラクトの状態が更新されます状態変更が発生する可能性があるため、トランザクションはウォレットで署名され、トランザクション手数料(gas)を支払う必要があります。 以下のコマンドで increment(num) 関数のトランザクションを実行します。
gas priceは wei 単位で指定します。 1 wei = 10^-18 INJ。
${SC_ADDRESS} をスマートコントラクトをデプロイしたアドレスに置き換えてください。 例えば、スマートコントラクトアドレスが 0x213ba803265386c10ce04a2caa0f31ff3440b9cf の場合、コマンドは以下のようになります:
成功した場合、以下のような結果が表示されます:
状態を更新した後、新しい状態をクエリできます。 結果は状態変更を反映します。
今回の結果は 0x0000000000000000000000000000000000000000000000000000000000000001 です。0 + 1 = 1 だからです。

次のステップ

おめでとうございます!Foundryを使用したInjectiveでのEVMスマートコントラクト開発の全ガイドが完了しました! スマートコントラクト単体では、非技術ユーザー向けのユーザー体験を提供できません。そのため、ユーザー向けには分散型アプリケーションを構築する必要があります。詳細については「初めてのdApp」ガイドをご覧ください。
最終更新日 2026年4月3日