スマートコントラクトのデプロイ
TxTypeSmartContractDeployは、指定されたアドレスにスマートコントラクトをデプロイする。 このトランザクションタイプでは、以下の変更が行われる。
手数料の委任
web3にkaiaの機能を追加するために、@kaiachain/viem-extパッケージをインポートする。
Kairosチェーン**、HTTPトランスポート、および送信者の秘密鍵をアカウントに変換したcreateWalletClientを使用して、送信者と料金支払者のウォレットを設定します。
prepareTransactionRequestを使用して価値移転のトランザクションリクエストを作成し、送金者のアカウント、受信者のアドレス、移転する価値(この例では0 KLAY)、トランザクションタイプ(TxType.FeeDelegatedSmartContractDeploy)**、humanReadable: falseはコントラクトコードがバイトコード(人間が読めるソースコードではない)であることを指定し、codeFormat:0はコントラクトコードのフォーマット(通常はEVMバイトコード)を示し、dataはデプロイされるスマートコントラクトのコンパイル済みバイトコードを含む。
ウォレットクライアントの signTransaction メソッドでトランザクションに署名し、トランザクションハッシュを記録する。
手数料の支払者は、関数 signTransactionAsFeePayer
を用いて、送信者からの署名済みのトランザクションに署名し、トランザクショ ン手数料の支払いに同意する。
kaia_sendRawTransaction`メソッドを使用して、完全に署名された手数料委譲トランザクション(送信者と手数料支払者の両方が署名)をKairosブロックチェーンネットワークに送信し、トランザクションハッシュまたはネットワークからの応答を返します。