wasmモジュールはInjectiveチェーン上にデプロイされたwasmスマートコントラクトとやり取りするための中核です。こちらでInjectiveチェーン上にデプロイされているスマートコントラクトの一覧を確認できます。
MsgUpdateCodeとMsgStoreCodeはEthereumウォレット(例: Metamask)ではサポートされていません。
メッセージ
MsgExecuteContract(Transfer)
このメッセージはコントラクト関数を実行するために使用されます。以下ではCW20 specのtransferメッセージを例として使用します。
MsgExecuteContract(fundsの例)
シナリオによっては、スマートコントラクトの関数に依存してスマートコントラクトへトークンを転送する必要がある場合があります。CosmWasmの慣例に従い、funds フィールドを使用してユーザーのbankモジュールからスマートコントラクトへトークンを転送します。
以下は、testコントラクト関数を使用してMsgExecuteContractを送信する例です。
MsgExecuteContractCompat
前述の例のfunds配列およびmsgsオブジェクトをEIP712でパースする際にいくつかの互換性の問題があります。MsgExecuteContractはEIP712に適切に変換できず、Ethereumウォレットで署名できないため、EIP712と完全に互換性のあるMsgExecuteContractCompatを導入しました。
注: MsgExecuteContractとMsgExecuteContractCompatの基盤となるメッセージは同じです。MsgExecuteContractCompatはEIP712互換である点だけが異なります。
以下は、testコントラクト関数を使用してMsgExecuteContractCompactを送信する例です。