書き込み (Fee Delegation)
スマートコントラクトを実行したい場合、feepayerに支払い要求を含むトランザクションを行うことができる。
Web3 に Kaia の機能を追加するために、web3 と @kaiachain/web3js-ext のパッケージをインポートします。
sender、fee payerのアドレスと秘密鍵を定義する。
指定されたkairos testnet URLでプロバイダを設定します。 Web3 におけるプロバイダーは、ブロックチェーンデータにアクセスするための読み取り専用の抽象レイヤーです。
また、プロバイダのURLをkairosからquicknodeに変更することができます。
web3.eth.account.privateKeyToAccount
を使用して、定義された秘密鍵からsenderとfee payerのアカウントを作成する。
契約Abiと契約アドレスの定義
Web3.eth.Contract
を使用して、contractAbiとaddressを定義した契約インスタンスを作成する。 このインスタンスを通じて、契約の読み書きができる。
更新前のnumberの値を取得する。
Contract.methods.increment().encodeABI() を使用して、コントラクトメソッドのデータをエンコードしました。
値 number を type:タイプ: FeeDelegatedSmartContractExecution
である。
signTransaction
を使ってsenderアカウントでトランザクションに署名する。
signTransactionAsFeePayer
を使用して、fee payerアカウントでトランザクションに署名する。
トランザクションをブロックチェーンに送信する。 取引レシートを返します。
numberの更新値を取得する。