Une transaction inclut une ou plusieurs instructions, les signatures des comptes qui autorisent les modifications, et un blockhash récent. Le réseau traite toutes les instructions d'une transaction ensemble. Si une instruction échoue, la transaction entière échoue et tous les changements d'état sont annulés.
Un diagramme simplifié montrant deux transactions
Structure de transaction
Signatures, format de message (en-tête, adresses de compte, blockhash, instructions compilées), encodage binaire, budget de taille, et exemple de transfert SOL.
Transactions versionnées
Format legacy vs V0, tables de recherche d'adresses, résolution ALT, et comparaison des versions.
Pipeline de transaction
Pipeline de traitement complet en 8 étapes (réception jusqu'au commit), lecture des détails de transaction depuis le réseau, et référence des erreurs de validation.
Nonces durables
Signature hors ligne avec nonces durables, cycle de vie du nonce, détection, flux de validation, et comportement en cas d'échec.
Points clés
- Exécution atomique : toutes les instructions réussissent ou toutes sont annulées. Les frais sont toujours facturés en cas d'échec.
- Limite de taille : 1 232 octets maximum, dérivée du MTU minimum IPv6 (1 280 octets) moins 48 octets pour les en-têtes réseau.
- Signatures : chaque signataire fournit une signature Ed25519 de 64 octets.
- Expiration du blockhash : le blockhash récent d'une transaction est valide pendant 150 slots.
Limites
| Limite | Valeur | Source |
|---|---|---|
| Taille maximale de transaction | 1 232 octets | PACKET_DATA_SIZE |
| Comptes maximum par transaction | 64 | Limite appliquée (128 lorsque increase_tx_account_lock_limit est activé, actuellement inactif) |
| Expiration du blockhash | 150 slots | MAX_PROCESSING_AGE |
| Taille de signature | 64 octets (Ed25519) | -- |
| Frais de base par signature | 5 000 lamports | Frais |
| Instructions exécutées maximum | 64 (niveau supérieur + CPI) | MAX_INSTRUCTION_TRACE_LENGTH |
| Signatures maximum par paquet | 12 | MAX_SIGNATURES_PER_PACKET |
Is this page helpful?