无序交易
如 AIP-123 所述,无序交易允许交易不按顺序执行。这尤其适用于多个机器需要为同一个发送账户签名、但签名顺序既不影响交易结果也不影响创建者的场景。重放由 nonce 保护;nonce 是交易的唯一标识符。它允许交易在过期时间内的任意时刻执行,不受机器签名顺序影响,同时在 nonce 过期后不能被重放。无序交易的最大过期时间为 60 秒,这与序列号交易不同。
无序交易依赖 AIP-129 中指定的交易负载。构建和执行无序交易的流程如下:
- 使用定义待执行操作的
replayProtectionNonce和TransactionPayload::TransactionPayloadPayload构建交易。 - 与其他交易一样签名并提交交易,但需设置
replayProtectionNonce。理想情况下,nonce 应为随机的 u64 值。
请注意,replayProtectionNonce 的行为类似序列号,但不保证交易按顺序执行;它确保交易唯一,且不能使用相同 nonce 重放(执行两次)。
SDK 支持
Section titled “SDK 支持”以下是赞助交易的演示:
- TypeScript SDK 提供相关文档。
- Go SDK 提供示例。