Transakcja zawiera jedną lub więcej instrukcji, podpisy kont autoryzujących zmiany oraz aktualny blockhash. Sieć przetwarza wszystkie instrukcje w transakcji razem. Jeśli którakolwiek instrukcja się nie powiedzie, cała transakcja zostaje odrzucona, a wszystkie zmiany stanu cofnięte.
Uproszczony diagram przedstawiający dwie transakcje
Struktura transakcji
Podpisy, format wiadomości (nagłówek, adresy kont, blockhash, skompilowane instrukcje), kodowanie binarne, limit rozmiaru oraz przykład transferu SOL.
Transakcje wersjonowane
Format Legacy vs V0, Tabele wyszukiwania adresów (ALT), rozwiązywanie ALT i porównanie wersji.
Pipeline transakcji
Pełny 8-etapowy pipeline przetwarzania (od odbioru do zatwierdzenia), odczyt szczegółów transakcji z sieci oraz odniesienie do błędów walidacji.
Trwałe nonce’y
Podpisywanie offline z trwałymi nonce’ami, cykl życia nonce’a, wykrywanie, walidacja i zachowanie w przypadku błędu.
Kluczowe informacje
- Wykonanie atomowe: Wszystkie instrukcje muszą się powieść lub wszystkie zostaną cofnięte. Opłaty są pobierane nawet w przypadku niepowodzenia.
- Limit rozmiaru: Maksymalnie 1 232 bajty, wyliczone z minimalnego MTU IPv6 (1 280 bajtów) minus 48 bajtów na nagłówki sieciowe.
- Podpisy: Każdy podpisujący dostarcza jeden 64-bajtowy podpis Ed25519.
- Wygaśnięcie blockhash: Aktualny blockhash transakcji jest ważny przez 150 slotów.
Limity
| Limit | Wartość | Źródło |
|---|---|---|
| Maksymalny rozmiar transakcji | 1 232 bajty | PACKET_DATA_SIZE |
| Maksymalna liczba kont w transakcji | 64 | Limit wymuszony (128, gdy increase_tx_account_lock_limit jest aktywowany, obecnie nieaktywny) |
| Wygaśnięcie blockhash | 150 slotów | MAX_PROCESSING_AGE |
| Rozmiar podpisu | 64 bajty (Ed25519) | -- |
| Bazowa opłata za podpis | 5 000 lamportów | Opłaty |
| Maksymalna liczba wykonanych instrukcji | 64 (główne + CPI) | MAX_INSTRUCTION_TRACE_LENGTH |
| Maksymalna liczba podpisów w pakiecie | 12 | MAX_SIGNATURES_PER_PACKET |
Is this page helpful?