> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Jaminan Pengiriman

> Pahami jaminan pengiriman LaserStream, termasuk pengiriman tepat satu kali, urutan pesan, perilaku notifikasi slot, dan penanganan fork.

LaserStream memberikan jaminan pengiriman yang sama persis seperti node Geyser. Panduan ini menjelaskan perilaku pengiriman pesan yang dapat Anda harapkan dari stream LaserStream.

<Info>
  Jaminan ini berlaku untuk **langganan standar** (transaksi, akun, slot, blok). [Transaksi yang telah diproses sebelumnya](/docs/id/preprocessed-transactions/overview) (bagian dari Shred Delivery) menggunakan jaminan pengiriman upaya terbaik yang terpisah.
</Info>

## Pengiriman tepat satu kali

LaserStream menjamin **pengiriman tepat satu kali**. Setiap pesan dikirimkan ke stream Anda tepat satu kali — Anda tidak akan pernah menerima pesan duplikat dan tidak ada pesan yang dilewatkan.

LaserStream mencapai hal ini dengan terhubung ke beberapa node Solana secara bersamaan dan menghapus duplikasi data yang masuk sebelum meneruskannya ke stream Anda. Arsitektur multinode ini juga menghilangkan titik kegagalan tunggal, sehingga memastikan waktu aktif maksimum tanpa mengorbankan ketepatan pengiriman.

## Urutan pesan berdasarkan tingkat komitmen

Urutan pengiriman bergantung pada tingkat komitmen pesan:

### Confirmed dan finalized

Semua pesan **confirmed** dan **finalized** dikirimkan secara berurutan. Anda dapat mengandalkan tingkat komitmen ini untuk memberikan tampilan status on-chain yang konsisten dan berurutan.

### Processed

Semua pesan **processed** dikirimkan dalam urutan slot menaik, kecuali jika terjadi fork. Jika terjadi fork, urutan slot dapat menyimpang untuk sementara saat jaringan melakukan reorganisasi di sekitar rantai kanonis. Setelah fork diselesaikan, urutan menaik dilanjutkan.

<Warning>
  Pada tingkat komitmen processed, ada kemungkinan kecil bahwa slot yang telah diproses nantinya dilewati atau disingkirkan akibat fork. Geyser **tidak** mengirimkan notifikasi rollback secara eksplisit untuk pembaruan yang disingkirkan akibat fork. Jika aplikasi Anda menggunakan data tingkat processed, Anda harus memperhitungkan kemungkinan bahwa beberapa pembaruan mungkin berasal dari slot yang pada akhirnya ditinggalkan. Untuk aplikasi yang memerlukan kepastian, gunakan tingkat komitmen **confirmed** atau **finalized**.
</Warning>

## Urutan dalam satu slot

Dalam satu slot, LaserStream mengirimkan pembaruan akun dan transaksi dengan jaminan berikut:

### Pembaruan akun sebelum transaksi

Untuk setiap transaksi, pembaruan akun yang disebabkannya dikirimkan **sebelum** transaksi itu sendiri:

```
<accounts updated by tx X> → <tx X> → <accounts updated by tx Y> → <tx Y>
```

### Urutan antartansaksi

LaserStream mempertahankan urutan yang sama seperti [plugin Geyser milik Agave](https://docs.solanalabs.com/validator/geyser#ordering-guarantees). Apakah pembaruan dari transaksi yang berbeda tiba dalam urutan deterministik bergantung pada **kunci tulis** transaksi tersebut:

* **Kunci tulis yang sama** (misalnya, tiga perdagangan pada pool Raydium yang sama): selalu deterministik. Agave mengeksekusinya secara berurutan karena transaksi tersebut menulis ke akun yang sama.
* **Kunci tulis yang berbeda** (misalnya, dua transaksi yang tidak terkait): belum tentu deterministik. Agave dapat mengeksekusinya secara paralel dan pembaruannya dapat tercampur dalam stream.

Untuk merekonstruksi urutan yang sepenuhnya deterministik tanpa bergantung pada kunci tulis, gunakan **indeks blok/transaksi** dari data transaksi.

### Normalisasi versi penulisan

LaserStream menormalisasi versi penulisan di seluruh arsitektur multinode-nya. Tidak seperti Geyser mentah atau Yellowstone — yang versi penulisannya bersifat lokal untuk setiap node dan dapat berbeda — LaserStream menyediakan versi penulisan konsisten yang dapat Anda andalkan untuk mengurutkan pembaruan akun tingkat processed.

<Note>
  **Pengecualian sementara:** Akun berukuran lebih dari 512KB saat ini dimasukkan ke buffer di plugin Geyser karena alasan performa. Hal ini dapat memengaruhi urutan deterministik untuk akun tersebut. Batasan ini akan segera dihapus.
</Note>

## Notifikasi slot

**Notifikasi slot processed** tiba setelah semua pesan untuk slot tersebut dikirimkan. Artinya, saat Anda menerima notifikasi slot processed, Anda dapat yakin bahwa semua data transaksi dan pembaruan akun yang terkait dengan slot tersebut telah dikirimkan ke stream Anda. Anda dapat menggunakan notifikasi slot sebagai sinyal untuk mengosongkan atau melepaskan data dalam buffer untuk slot tersebut.

## Kontinuitas data saat koneksi terputus

LaserStream menyimpan buffer data slot terbaru, sehingga memungkinkan [pemutaran ulang historis](/docs/id/laserstream/historical-replay) untuk data hingga **48 jam** sebelumnya (\~691.200 slot pada kecepatan jaringan saat ini). Jika koneksi aplikasi Anda terputus, Anda dapat terhubung kembali dan melanjutkan dari slot terakhir yang telah diproses tanpa kehilangan data apa pun.

Saat menggunakan [klien SDK LaserStream](/docs/id/laserstream/clients), pemulihan ini ditangani secara otomatis — klien melacak posisi streaming Anda berdasarkan nomor slot dan menghubungkan kembali tanpa gangguan. Logika penyambungan kembali secara manual tidak diperlukan.

## Referensi tingkat komitmen

| Tingkat       | Deskripsi                                                                                                  | Latensi        | Urutan                                           | Risiko Pembatalan                                             |
| ------------- | ---------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------------------------ | ------------------------------------------------------------- |
| **Processed** | Disertakan dalam blok terbaru yang diketahui node; belum ada suara dari seluruh cluster                    | \~400ms        | Urutan slot menaik (dapat terganggu selama fork) | Kemungkinan kecil slot dilewati atau disingkirkan akibat fork |
| **Confirmed** | Supermayoritas stake (≥66%) telah memberikan suara pada blok tersebut (konfirmasi optimistis)              | Beberapa detik | Diurutkan secara ketat                           | Dapat diabaikan                                               |
| **Finalized** | Telah dikonfirmasi dan setidaknya 31 blok terkonfirmasi tambahan dibangun di atasnya (penguncian 32 suara) | \~12-15 detik  | Diurutkan secara ketat                           | Secara efektif tidak dapat dibatalkan                         |
