Eine Transaktion umfasst eine oder mehrere Anweisungen, die Signaturen von Konten, die die Änderungen autorisieren, und einen aktuellen Blockhash. Das Netzwerk verarbeitet alle Anweisungen in einer Transaktion gemeinsam. Wenn eine Anweisung fehlschlägt, schlägt die gesamte Transaktion fehl und alle Zustandsänderungen werden rückgängig gemacht.
Ein vereinfachtes Diagramm mit zwei Transaktionen
Transaktionsstruktur
Signaturen, Nachrichtenformat (Header, Kontoadressen, Blockhash, kompilierte Anweisungen), Binärkodierung, Größenbudget und ein SOL-Transfer-Beispiel.
Versionierte Transaktionen
Legacy- vs. V0-Format, Address Lookup Tables, ALT-Auflösung und Versionsvergleich.
Transaktions-Pipeline
Vollständige 8-stufige Verarbeitungs-Pipeline (Empfang bis Commit), Lesen von Transaktionsdetails aus dem Netzwerk und Referenz für Validierungsfehler.
Dauerhafte Nonces
Offline-Signierung mit dauerhaften Nonces, Nonce-Lebenszyklus, Erkennung, Validierungsablauf und Fehlerverhalten.
Wichtige Fakten
- Atomare Ausführung: Alle Anweisungen sind erfolgreich oder alle werden rückgängig gemacht. Fees werden auch bei Fehlschlag berechnet.
- Größenlimit: Maximal 1.232 Bytes, abgeleitet von der IPv6-Mindest-MTU (1.280 Bytes) abzüglich 48 Bytes für Netzwerk-Header.
- Signaturen: Jeder Signer liefert eine 64-Byte-Ed25519-Signatur.
- Blockhash-Ablauf: Der aktuelle Blockhash einer Transaktion ist für 150 Slots gültig.
Limits
| Limit | Wert | Quelle |
|---|---|---|
| Max. Transaktionsgröße | 1.232 Bytes | PACKET_DATA_SIZE |
| Max. Konten pro Transaktion | 64 | Erzwungenes Limit (128, wenn increase_tx_account_lock_limit aktiviert ist, derzeit inaktiv) |
| Blockhash-Ablauf | 150 Slots | MAX_PROCESSING_AGE |
| Signaturgröße | 64 Bytes (Ed25519) | -- |
| Basis-Fee pro Signatur | 5.000 Lamports | Fees |
| Max. ausgeführte Anweisungen | 64 (Top-Level + CPIs) | MAX_INSTRUCTION_TRACE_LENGTH |
| Max. Signaturen pro Paket | 12 | MAX_SIGNATURES_PER_PACKET |
Is this page helpful?