본문으로 건너뛰기
This page uses machine translation from English, which may contain errors or unclear language. For the most accurate information, please see the original English version. Some content may be in the original English due to frequent updates. Help us improve this page's translation by joining our effort on Crowdin. (Crowdin translation page, Contributing guide)

Value Transfer Memo

TxTypeValueTransferMemo is used when a user wants to send KAIA with a specific message.

Import the web3 and @kaiachain/web3js-ext packages to add kaia features on web3

Define sender, receiver address and sender private key

Set up the provider with the specified kairos testnet URL. A provider in web3js is a read-only abstraction to access the blockchain data.

Also, you can change the default provider. For example, using the alchemy provider.

Create a KlaytnWeb3 instance using the provider

Define the transaction object.

Sign the transaction with the sender's account.

Send the signed transaction to the kaia network.

TxTypeValueTransferMemo.js

const { KlaytnWeb3, TxType, toPeb } = require("@kaiachain/web3js-ext");
const { Web3 } = require("web3");
const recieverAddr = "0xc40b6909eb7085590e1c26cb3becc25368e249e9";
const senderAddr = "0xa2a8854b1802d8cd5de631e690817c253d6a9153";
const senderPriv = "0x0e4ca6d38096ad99324de0dde108587e5d7c600165ae4cd6c2462c597458c2b8";
async function main() {
const provider = new Web3.providers.HttpProvider("https://public-en-kairos.node.kaia.io");
const web3 = new KlaytnWeb3(provider);
const senderAccount = web3.eth.accounts.privateKeyToAccount(senderPriv);
const tx = {
type: TxType.ValueTransferMemo,
from: senderAddr,
to: recieverAddr,
value: toPeb("0.01"),
gasLimit: 50000,
data: "0x1234567890",
};
const signResult = await senderAccount.signTransaction(tx);
console.log("rawTx", signResult.rawTransaction);
const receipt = await web3.eth.sendSignedTransaction(signResult.rawTransaction);
console.log("receipt", receipt);
}
main();

output

❯ node TxTypeValueTransferMemo.js
signedTx 0x237f8d5598bb5235ba87b0e9fc8ded203c6dd270cc71f1add0ae47c63d13da5d
receipt {
blockHash: '0x90b6753c8fa1ee401775c57974318bb6c0746834170f4d0a132b8a9d10fb37f5',
blockNumber: 148742510n,
cumulativeGasUsed: 21500n,
effectiveGasPrice: 25000000000n,
from: '0xa2a8854b1802d8cd5de631e690817c253d6a9153',
gasUsed: 21500n,
logs: [],
logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
status: 1n,
to: '0xc40b6909eb7085590e1c26cb3becc25368e249e9',
transactionHash: '0x237f8d5598bb5235ba87b0e9fc8ded203c6dd270cc71f1add0ae47c63d13da5d',
transactionIndex: 0n,
type: 0n
}

페이지를 개선해 주세요