本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)
建设费委托示例
目录
- 1. 导言
- 2. 如何进行收费授权
- 2.1 发送方签署交易
- 2.2 付款人签署交易
- 3. 收费委托的简单服务器和客户端
- 3.1 环境设置
- 3.2 发件人客户端
- 3.2 缴费者服务器
- 4. 运行示例
- 4.1 运行
feepayer_server.js
- 4.2 运行
sender_client.js
- 4.3 检查
feepayer_server.js
- 4.4 对卡伊阿斯坎的看法
- 4.1 运行
1. 导言
本教程将指导您使用 Kaia SDK (ethers-ext) 创建一个简单的服务器-客户端示例,以演示费用委托价值转移交易如何在 Kaia 上运行。 教程和示例代码已在 Kairos 测试网上进行了测试。
2. 如何进行费用委托
让我们简要了解一下费用委托的运作方式。
2.1 发送方签署交易
发送方 "在发送交易之前,应始终签署交易。
要签署事务,可使用 signTransaction 用给定的私钥签署事务。
const senderAddress = "SENDER_ADDRESS";const senderPrivateKey = "SENDER_PRIVATE_KEY";const recieverAddr = "RECEIVER_ADDRESS";// Create a new transactionlet tx = { type:TxType.FeeDelegatedValueTransfer, to: recieverAddr, value: parseKaia("0.01"), from: senderAddress,}; // Sign the transactiontx = await senderWallet.populateTransaction(tx);console.log(tx);const senderTxHashRLP = await senderWallet.signTransaction(tx);console.log("senderTxHashRLP", senderTxHashRLP);
如果没有错误,那么 senderTxHashRLP
将有一个已签名的事务,该事务由 senderPrivateKey
签名。
现在,您需要将 senderTxHashRLP
发送给缴费人。 实施的方法有很多种。 在本教程中,我们将提供一个简单的服务器-客户端代码,作为向缴费人发送 "senderTxHashRLP "的示例。
2.2 付款人签署交易
当 "付费方 "收到 "发送方 TxHashRLP "时,"付费方 "会再次用自己的私钥对 "发送方 TxHashRLP "进行签名,并将交易发送给 Kaia。 下面的代码片段说明了这一过程。
sendTransactionAsFeePayer 方法在发送交易前用给定的付费者私钥对交易进行签名。 运行代码前,请用实际值替换 "FEEPAYER_ADDRESS "和 "PRIVATE_KEY"。