You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Aptos SDK 技术问题:如何在单笔交易中发送多个payload?

在Aptos单笔交易中发送多个Payload的实现方法

完全可行,Aptos原生支持单笔交易包含多个操作(即多个Payload),这类交易被称为多操作交易,所有操作会原子执行——要么全部成功,要么全部失败,不会出现部分执行的情况。

实现代码示例

对比你提供的单Payload交易代码,多Payload交易的核心是通过buildMultiPayload方法将多个单独的Payload组合成一个批量Payload,后续的交易签名、提交流程和单Payload完全一致:

// 构建第一个转账操作的Payload
let payload1 = txBuilder.buildTransactionPayload(
  "0x1::aptos_account::transfer",
  [],
  [to1.address(), 100000]
);

// 构建第二个转账操作的Payload(示例为转给另一个地址)
let payload2 = txBuilder.buildTransactionPayload(
  "0x1::aptos_account::transfer",
  [],
  [to2.address(), 200000]
);

// 将多个Payload组合成批量Payload
let multiPayload = txBuilder.buildMultiPayload([payload1, payload2]);

// 后续流程与单Payload交易一致
let raw = await client.generateRawTransaction(acc.address(), multiPayload);
let signed = await client.signTransaction(acc, raw);
let res = await client.submitTransaction(signed);
console.log(res);
let waiting = await client.waitForTransaction(res.hash);

关键注意事项

  • 原子性保障:多操作交易中的所有步骤要么全部完成,要么全部回滚,不会出现部分操作成功、部分失败的情况
  • Gas费用:整个多操作交易只需要支付一次Gas,无需为每个单独操作重复付费
  • 余额要求:发起交易的账户需要有足够的APT余额,覆盖所有操作的转账金额总和加上Gas费用

内容的提问来源于stack exchange,提问作者Bob Sfog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 12:10:31