Nhảy tới nội dung
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)

Hủy bỏ

TxTypeCancel hủy việc thực hiện giao dịch với cùng nonce trong nhóm giao dịch. Loại giao dịch này hữu ích khi một giao dịch đã gửi có vẻ như chưa được xử lý trong một khoảng thời gian nhất định.

Ủy quyền phí

Nhập các gói @kaiachain/viem-ext để thêm các tính năng kaia trên web3

Thiết lập ví người gửi và người trả phí bằng createWalletClient, được cấu hình với chuỗi Kairos, phương thức vận chuyển HTTPkhóa riêng của người gửi được chuyển đổi thành một tài khoản.

Tạo yêu cầu giao dịch để chuyển giá trị bằng cách sử dụng prepareTransactionRequest, chỉ định tài khoản của người gửi và loại giao dịch (TxType.FeeDelegatedCancel).

Ký giao dịch bằng phương thức signTransaction của máy khách ví và ghi lại mã băm giao dịch.

Người trả phí ký vào giao dịch đã được người gửi ký bằng hàm signTransactionAsFeePayer, đồng ý trả phí giao dịch.

Gửi giao dịch được ủy quyền phí và đã ký đầy đủ (được cả người gửi và người trả phí ký) đến mạng blockchain Kairos bằng phương thức kaia_sendRawTransaction, trả về mã băm giao dịch hoặc phản hồi từ mạng.

TxFeeDelegatedCancelType.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,
type: TxType.FeeDelegatedCancel,
});
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 cancel tx", res);
})();

output

❯ js TxFeeDelegatedCancelType.js
signedTx 0x39f86b82095e85066720b3008302059494a2a8854b1802d8cd5de631e690817c253d6a9153f847f8458207f6a0e203205f0f0728d964f8da4a8f891b63d2140c9a0144d33a9a682be1db90c212a05a3999602aeefda3cabbf0af3a935b85a9c5e94ffa3c00c8def218a121281343
fee delegated cancel tx 0x4580d6e7599fe0b2623f9942cb0b167449c764e49f40b7a63b15c8ff60053923

Cải thiện trang này