跳转到内容

无序交易

AIP-123 所述,无序交易允许交易不按顺序执行。这尤其适用于多个机器需要为同一个发送账户签名、但签名顺序既不影响交易结果也不影响创建者的场景。重放由 nonce 保护;nonce 是交易的唯一标识符。它允许交易在过期时间内的任意时刻执行,不受机器签名顺序影响,同时在 nonce 过期后不能被重放。无序交易的最大过期时间为 60 秒,这与序列号交易不同。

无序交易依赖 AIP-129 中指定的交易负载。构建和执行无序交易的流程如下:

  1. 使用定义待执行操作的 replayProtectionNonceTransactionPayload::TransactionPayloadPayload 构建交易。
  2. 与其他交易一样签名并提交交易,但需设置 replayProtectionNonce。理想情况下,nonce 应为随机的 u64 值。

请注意,replayProtectionNonce 的行为类似序列号,但不保证交易按顺序执行;它确保交易唯一,且不能使用相同 nonce 重放(执行两次)。

以下是赞助交易的演示: