Una transacción incluye una o más instrucciones, las firmas de las cuentas que autorizan los cambios y un blockhash reciente. La red procesa todas las instrucciones de una transacción juntas. Si alguna instrucción falla, toda la transacción falla y todos los cambios de estado se revierten.
Un diagrama simplificado que muestra dos transacciones
Estructura de transacción
Firmas, formato de mensaje (encabezado, direcciones de cuenta, blockhash, instrucciones compiladas), codificación binaria, presupuesto de tamaño y un ejemplo de transferencia de SOL.
Transacciones versionadas
Formato legacy vs V0, tablas de búsqueda de direcciones, resolución de ALT y comparación de versiones.
Pipeline de transacciones
Pipeline completo de procesamiento de 8 etapas (desde recepción hasta commit), lectura de detalles de transacción desde la red y referencia de errores de validación.
Nonces duraderos
Firma offline con nonces duraderos, ciclo de vida del nonce, detección, flujo de validación y comportamiento ante fallos.
Preparación para producción
Configura el aterrizaje de transacciones, los reintentos, las tarifas de prioridad y la confirmación para aplicaciones en mainnet.
Datos clave
- Ejecución atómica: Todas las instrucciones tienen éxito o todas se revierten. Las tarifas se cobran igualmente en caso de fallo.
- Límite de tamaño: 1.232 bytes como máximo, derivado del MTU mínimo de IPv6 (1.280 bytes) menos 48 bytes para los encabezados de red. El formato v1 lo amplía a 4.096 bytes.
- Firmas: Cada firmante proporciona una firma Ed25519 de 64 bytes.
- Caducidad de blockhash: El blockhash reciente de una transacción es válido durante 150 slots.
Límites
| Límite | Valor | Fuente |
|---|---|---|
| Tamaño máximo de transacción | 1.232 bytes | PACKET_DATA_SIZE |
| Máximo de cuentas por transacción | 64 (96 para v1 con SIMD-0596) | Límite aplicado |
| Caducidad de blockhash | 150 slots | MAX_PROCESSING_AGE |
| Tamaño de firma | 64 bytes (Ed25519) | -- |
| Tarifa base por firma | 5.000 lamports | Tarifas |
| Máximo de instrucciones ejecutadas | 64 (nivel superior + CPIs) | MAX_INSTRUCTION_TRACE_LENGTH |
| Máximo de firmas por paquete | 12 | MAX_SIGNATURES_PER_PACKET |
Is this page helpful?