Una transazione include una o più istruzioni, le firme degli account che autorizzano le modifiche e un blockhash recente. La rete elabora tutte le istruzioni in una transazione insieme. Se un'istruzione fallisce, l'intera transazione fallisce e tutte le modifiche di stato vengono annullate.
Un diagramma semplificato che mostra due transazioni
Struttura delle transazioni
Firme, formato del messaggio (header, indirizzi degli account, blockhash, istruzioni compilate), codifica binaria, budget di dimensione ed esempio di trasferimento SOL.
Transazioni versionate
Formato legacy vs V0, Address Lookup Tables, risoluzione ALT e confronto tra versioni.
Pipeline delle transazioni
Pipeline di elaborazione completa in 8 fasi (da ricezione a commit), lettura dei dettagli delle transazioni dalla rete e riferimento agli errori di validazione.
Nonce durevoli
Firma offline con nonce durevoli, ciclo di vita dei nonce, rilevamento, flusso di validazione e comportamento in caso di errore.
Fatti chiave
- Esecuzione atomica: tutte le istruzioni hanno successo o tutte vengono annullate. Le commissioni vengono comunque addebitate in caso di errore.
- Limite di dimensione: massimo 1.232 byte, derivato dall'MTU minimo IPv6 (1.280 byte) meno 48 byte per gli header di rete.
- Firme: ogni firmatario fornisce una firma Ed25519 da 64 byte.
- Scadenza del blockhash: il blockhash recente di una transazione è valido per 150 slot.
Limiti
| Limite | Valore | Fonte |
|---|---|---|
| Dimensione massima transazione | 1.232 byte | PACKET_DATA_SIZE |
| Account massimi per transazione | 64 | Limite applicato (128 quando increase_tx_account_lock_limit è attivato, attualmente inattivo) |
| Scadenza blockhash | 150 slot | MAX_PROCESSING_AGE |
| Dimensione firma | 64 byte (Ed25519) | -- |
| Commissione base per firma | 5.000 lamport | Commissioni |
| Istruzioni eseguite massime | 64 (top-level + CPI) | MAX_INSTRUCTION_TRACE_LENGTH |
| Firme massime per pacchetto | 12 | MAX_SIGNATURES_PER_PACKET |
Is this page helpful?