Orderless Transactions
As outlined in AIP-123, orderless transactions allow for transactions to be executed out of order, which is particularly useful in scenarios where multiple machines need to sign for a single sending account, but the order in which they sign does not affect the outcome of the transaction or matter to the creator. Replay is protected in
Process Overview
Orderless transactions are dependent on the transaction payload specified in AIP-129. The process for building and executing an orderless transaction is as follows:
- Build a transaction with a
replayProtectionNonce
and aTransactionPayload::TransactionPayloadPayload
that defines the operation to be executed. - Sign and submit the transaction as any other transaction, but with the
replayProtectionNonce
set.
Note, that the behavior of the replayProtectionNonce
is similar to a sequence
number, but it does not guarantee ordered execution of transactions. Instead, it
ensures that the transaction is unique and cannot be replayed (executed twice)
with the same nonce.
SDK Support
These are demonstrations of sponsored transactions:
- The TypeScript SDK has documentation
- The Go SDK has an example