XRP Ledger测试网无法向指定钱包发送自定义SOX代币求助
XRP Ledger测试网发送SOX代币代码实现
前置条件
- 已手动为接收代币的账户添加SOX代币信任线
- 发行方钱包持有SOX代币
- 操作环境为XRP Ledger测试网
var xrpl = require('xrpl'); // 发行方钱包信息 // 地址 = rnA9soPJPtfuTaEhGR7C6VKWei2CtzmLxJ // 密钥 = sn2tgPrdCr72jvMxjKskGmPH2a1VH // 接收方账户信息 // 地址 = rbBuZYumQhogsq6FFP6nkvm1GEiyLvNTz // 密钥 = sndPAYk5CcqwRpm4oTcofvjx7jAXX // 连接XRP测试网 --------------------------------------------------------------------- async function main() { // 初始化测试网客户端连接 const client = new xrpl.Client('wss://s.altnet.rippletest.net:51233'); await client.connect(); // 通过发行方密钥初始化钱包实例 const hot_wallet = xrpl.Wallet.fromSeed('sn2tgPrdCr72jvMxjKskGmPH2a1VH'); // 发送代币操作 ---------------------------------------------------------------- const currency_code = 'SOX'; // 代币代码 const issue_quantity = '100'; // 发送数量 // 构造代币发送交易 const send_token_tx = { TransactionType: 'Payment', // 交易类型为Payment Account: hot_wallet.address, // 发起账户(发行方) Amount: { currency: currency_code, // 代币代码 value: issue_quantity, // 发送数量 issuer: hot_wallet.address, // 代币发行方地址 }, Destination: 'rbBuZYumQhogsq6FFP6nkvm1GEiyLvNTz', // 接收方地址 DestinationTag: 1, // 目标标签:因之前为发行方账户开启了Require Destination Tags,所以必须填写 }; // 自动填充交易缺失字段(如手续费、序列号等) const pay_prepared = await client.autofill(send_token_tx); // 使用发行方钱包签名交易 const pay_signed = hot_wallet.sign(pay_prepared); // 提交交易并等待结果 const pay_result = await client.submitAndWait(pay_signed.tx_blob); // 打印交易结果 console.log(pay_result); // 断开客户端连接 client.disconnect(); } // 执行主函数 main();
关键说明
- 自定义代币转账使用
Payment交易类型即可,无需额外配置特殊交易类型 Amount对象必须包含代币代码、转账数量和发行方地址,这是XRPL网络中自定义代币转账的标准格式DestinationTag字段仅在发行方账户开启Require Destination Tags设置时需要填写,若未开启该设置可移除该字段client.autofill()方法会自动补充交易所需的手续费、上次交易序列号等必要字段,避免手动配置出错
内容的提问来源于stack exchange,提问作者Karan Goraniya
相关产品推荐
相关产品推荐

