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.
Produktionsreife
Konfigurieren Sie die Zustellung von Transaktionen, Wiederholungsversuche, priority fee und Bestätigung für Mainnet-Anwendungen.
Wichtige Fakten
- Atomare Ausführung: Alle Anweisungen sind erfolgreich oder alle werden rückgängig gemacht. Fees werden auch bei Fehlschlag berechnet.
- Größenbeschränkung: Maximal 1.232 Bytes, abgeleitet aus der IPv6-Mindest-MTU (1.280 Bytes) abzüglich 48 Bytes für Netzwerk-Header. Das v1-Format erhöht diesen Wert auf 4.096 Bytes.
- 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 (96 für v1 mit SIMD-0596) | Erzwungenes Limit |
| 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?