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.
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.
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: máximo 1.232 bytes, derivado del MTU mínimo de IPv6 (1.280 bytes) menos 48 bytes para los encabezados de red. El próximo formato v1 eleva este límite 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 | Límite aplicado (128 cuando increase_tx_account_lock_limit está activado, actualmente inactivo) |
| 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?