Transacciones Sin Orden
Como se describe en AIP-123, las transacciones sin orden permiten que las transacciones se ejecuten fuera de orden, lo cual es particularmente útil en escenarios donde varias máquinas necesitan firmar por una sola cuenta emisora, pero el orden en que firman no afecta el resultado de la transacción ni importa para el creador. El replay está protegido por un nonce, que es un identificador único para una transacción. Esto permite que la transacción se ejecute en cualquier momento dentro del tiempo de expiración, sin importar el orden en que las máquinas firman la transacción, pero no puede ser reproducida después de que el nonce haya expirado. El tiempo máximo de expiración es de 60 segundos para transacciones sin orden, lo cual no es lo mismo que para transacciones con número de secuencia.
Resumen del Proceso
Sección titulada «Resumen del Proceso»Las transacciones sin orden dependen del payload de transacción especificado en AIP-129. El proceso para construir y ejecutar una transacción sin orden es el siguiente:
- Construye una transacción con un
replayProtectionNonce
y unTransactionPayload::TransactionPayloadPayload
que define la operación a ejecutar. - Firma y envía la transacción como cualquier otra, pero con el
replayProtectionNonce
establecido. Idealmente, el nonce debe ser un valor aleatorio de tipo u64.
Nota que el comportamiento del replayProtectionNonce
es similar a un número de secuencia, pero no garantiza la ejecución ordenada de las transacciones. En su lugar, asegura que la transacción sea única y no pueda ser reproducida (ejecutada dos veces) con el mismo nonce.
Soporte de SDK
Sección titulada «Soporte de SDK»Estas son demostraciones de transacciones patrocinadas:
- La SDK de TypeScript tiene documentación
- La SDK de Go tiene un ejemplo