Python SDK:无序交易
无序交易允许创建彼此之间不指定执行顺序的交易。这在多台机器需要为同一发送账户签名或提交、但顺序不影响结果的场景中很有用。
协议概览请参阅无序交易(AIP-123 和 AIP-129)。
构建无序交易
Section titled “构建无序交易”创建和执行无序交易的流程与简单交易流程相同。向 aptos.transaction.build 传入 replay_protection_nonce,而不是依赖序列号。
import randomimport time
from aptos_sdk.v2.bcs import Serializerfrom aptos_sdk.v2.transactions import EntryFunction, TransactionArgument, TransactionPayloadfrom aptos_sdk.v2.types import StructTag, TypeTag
payload = EntryFunction.natural( "0x1::coin", "transfer", [TypeTag(StructTag.from_str("0x1::aptos_coin::AptosCoin"))], [ TransactionArgument(bob.address, Serializer.struct), TransactionArgument(1_000, Serializer.u64), ],)raw_txn = await aptos.transaction.build( sender=alice.address, payload=TransactionPayload(payload), replay_protection_nonce=random.randint(0, 2**64 - 1), expiration_timestamps_secs=int(time.time()) + 60,)result = await aptos.transaction.sign_submit_and_wait(raw_txn, alice)之后遵循与简单交易相同的步骤:
- 模拟交易(可选)。
- 签名交易。
- 将交易提交到网络。
- 等待交易执行。
要并行发送多笔无序转账,请参阅批量提交交易。
SDK 仓库包含遵循此 API 的可运行示例:
克隆仓库时,这些文件会导入 aptos_sdk_v2。执行 pip install aptos-sdk 后,请从 aptos_sdk.v2 导入相同 API。