本文へスキップ
このページは英語からの機械翻訳を使用しており、誤りや不明瞭な表現が含まれている可能性があります。最も正確な情報については、オリジナルの英語版をご覧ください。頻繁な更新のため、一部のコンテンツはオリジナルの英語になっている可能性があります。Crowdinでの取り組みに参加して、このページの翻訳改善にご協力ください。 (Crowdin translation page, Contributing guide)

価値移転

TxTypeValueTransferは、ユーザーがKAIAを送信したいときに使用される。

  • kaiaは、各トランザクションタイプが単一の目的を果たすように複数のトランザクションタイプを提供しているため、TxTypeValueTransferは、KAIAを外部所有口座(EOA)に送信するように制限されている。

手数料の委任

web3にkaiaの機能を追加するために**@kaiachain/viem-ext**パッケージをインポートする。

Kairosチェーン**、HTTPトランスポート、および送信者の秘密鍵をアカウントに変換したcreateWalletClientを使用して、送信者と料金支払者のウォレットを設定します。

prepareTransactionRequestを使用して、送金人の口座、受取人のアドレス、送金する価値(この例では0 KLAY)、およびトランザクションタイプ(TxType.FeeDelegatedValueTransfer)**を指定して、価値送金のトランザクションリクエストを作成する。

ウォレットクライアントの signTransaction メソッドでトランザクションに署名し、トランザクションハッシュを記録する。

手数料の支払者は、関数 signTransactionAsFeePayer を用いて、送信者からの署名済みのトランザクションに署名し、トランザクショ ン手数料の支払いに同意する。

kaia_sendRawTransaction`メソッドを使用して、完全に署名された手数料委譲トランザクション(送信者と手数料支払者の両方が署名)をKairosブロックチェーンネットワークに送信し、トランザクションハッシュまたはネットワークからの応答を返します。

TxTypeFeeDelegatedValueTransfer.js

import { createWalletClient, http, kairos, privateKeyToAccount, TxType } from "@kaiachain/viem-ext";
const senderWallet = createWalletClient({
chain: kairos,
transport: http(),
account: privateKeyToAccount(
"0x0e4ca6d38096ad99324de0dde108587e5d7c600165ae4cd6c2462c597458c2b8"
),
})
const feePayerWallet = createWalletClient({
chain: kairos,
transport: http(),
account: privateKeyToAccount(
"0x9435261ed483b6efa3886d6ad9f64c12078a0e28d8d80715c773e16fc000cff4"
),
});
(async () => {
const txRequest = await senderWallet.prepareTransactionRequest({
account: senderWallet.account,
to: "0x70997970c51812dc3a010c7d01b50e0d17dc79c8",
value: 0n,
type: TxType.FeeDelegatedValueTransfer,
});
const signedTx = await senderWallet.signTransaction(txRequest);
console.log("signedTx", signedTx);
const feePayerSignedTx = await feePayerWallet.signTransactionAsFeePayer(
signedTx
);
const res = await feePayerWallet.request({
method: "kaia_sendRawTransaction",
params: [feePayerSignedTx],
});
console.log("fee delegated value transfer tx", res);
})();

output

❯ js TxTypeFeeDelegatedValueTransfer.js
signedTx 0x09f88082095285066720b30082cd149470997970c51812dc3a010c7d01b50e0d17dc79c88094a2a8854b1802d8cd5de631e690817c253d6a9153f847f8458207f5a0c67b0c0ccf4276ad4b97d9da0e66e02bd540647c23866af148f338ef27ac2087a074f32e734fd7c2fae46221b13815bdc201c17b77c5060348b9fb26d5502456d5
fee delegated value transfer tx 0xcdb3051c9dc60147fd0aef4838f1f3cd907aa42105dedd817c2fba31cb40981a

ページを改善してください。