Sebuah transaksi mencakup satu atau lebih instruksi, tanda tangan dari akun yang mengotorisasi perubahan, dan blockhash terkini. Jaringan memproses semua instruksi dalam transaksi secara bersamaan. Jika ada instruksi yang gagal, seluruh transaksi akan gagal dan semua perubahan state akan dikembalikan.
Diagram sederhana yang menunjukkan dua transaksi
Struktur transaksi
Tanda tangan, format pesan (header, alamat akun, blockhash, instruksi terkompilasi), encoding biner, anggaran ukuran, dan contoh transfer SOL.
Transaksi berversi
Format legacy vs V0, Address Lookup Tables, resolusi ALT, dan perbandingan versi.
Pipeline transaksi
Pipeline pemrosesan 8 tahap lengkap (penerimaan hingga commit), membaca detail transaksi dari jaringan, dan referensi error validasi.
Nonce tahan lama
Penandatanganan offline dengan nonce tahan lama, siklus hidup nonce, deteksi, alur validasi, dan perilaku kegagalan.
Fakta kunci
- Eksekusi atomik: Semua instruksi berhasil atau semua dikembalikan. Biaya tetap dikenakan meskipun gagal.
- Batas ukuran: Maksimum 1.232 byte, diturunkan dari MTU minimum IPv6 (1.280 byte) dikurangi 48 byte untuk header jaringan.
- Tanda tangan: Setiap penandatangan menyediakan satu tanda tangan Ed25519 64-byte.
- Kedaluwarsa blockhash: Blockhash terkini dari transaksi berlaku selama 150 slot.
Batasan
| Batasan | Nilai | Sumber |
|---|---|---|
| Ukuran transaksi maks | 1.232 byte | PACKET_DATA_SIZE |
| Akun maks per transaksi | 64 | Batas yang diberlakukan (128 ketika increase_tx_account_lock_limit diaktifkan, saat ini tidak aktif) |
| Kedaluwarsa blockhash | 150 slot | MAX_PROCESSING_AGE |
| Ukuran tanda tangan | 64 byte (Ed25519) | -- |
| Biaya dasar per tanda tangan | 5.000 lamport | Biaya |
| Instruksi tereksekusi maks | 64 (tingkat atas + CPI) | MAX_INSTRUCTION_TRACE_LENGTH |
| Tanda tangan maks per paket | 12 | MAX_SIGNATURES_PER_PACKET |
Is this page helpful?