Langsung ke konten utama
Mulai langganan Preconfirmations — transaksi yang dikirim sebelum dikumpulkan ke dalam entri dan dikonversi menjadi shred. Ini adalah sinyal transaksi dengan latensi terendah yang ditawarkan Helius. Satu langganan mengalirkan prakonfirmasi Helius, yang dipancarkan tepat saat pemimpin mengeksekusi transaksi dan menyertakan status eksekusinya, serta prakonfirmasi BAM, yang dipancarkan saat validator berkomitmen untuk mengeksekusinya. Gunakan includeSource untuk memilih salah satu sumber.

Endpoint

preconfSubscribe disediakan dari endpoint Gatekeeper Helius:
  • wss://beta.helius-rpc.com/?api-key=<API_KEY>
Nama host beta merujuk pada peluncuran Gatekeeper, bukan tingkat kematangan Preconfirmations — ini akan menjadi endpoint standar seiring migrasi lalu lintas ke Gatekeeper.
Streaming tidak berlangsung terus-menerus. Cakupan meningkat sesuai proporsi stake jaringan yang meneruskan data ke Helius atau menjalankan BAM, jadi mungkin ada slot tanpa pesan — tangani celah ini dengan baik. Lihat Cakupan.

Otorisasi

string
wajib
Kunci API Helius Anda, yang diteruskan sebagai parameter kueri api-key. Prakonfirmasi tersedia pada semua paket berbayar.

Isi

array
Opsional. Hilangkan params untuk menerima setiap transaksi dari Helius dan BAM. Untuk mempersempit streaming, teruskan objek filter sebagai elemen pertama — pemfilteran dilakukan di sisi server, sehingga Anda hanya membayar dan menerima transaksi yang Anda perlukan.
Sumber, kunci publik, tanda tangan, filter instruksi, atau kode wilayah yang tidak valid akan mengembalikan kesalahan JSON-RPC -32602 (parameter tidak valid). Menggabungkan includeSource dengan bidang includeBam yang tidak digunakan lagi juga akan mengembalikan -32602. Filter instruksi hanya memeriksa instruksi tingkat atas. Filter tersebut tidak mencocokkan instruksi yang dipanggil melalui pemanggilan lintas program (CPI). Offset akhir memcmp dan dataSize tidak boleh melebihi 4.096 byte. Filter akun mencocokkan lebih dari sekadar kunci akun statis transaksi — Helius menyelesaikan tabel pencarian alamat v0 di sisi server, sehingga accountInclude, accountExclude, dan accountRequired juga mencocokkan akun yang dimuat transaksi melalui ALT.

Kode wilayah

Untuk prakonfirmasi Helius, wilayah adalah tempat Helius menyerap transaksi. Untuk prakonfirmasi BAM, wilayah adalah endpoint BAM regional yang memancarkan prakonfirmasi, bukan tempat Helius menyerapnya. Endpoint BAM di Singapura dan Dallas dipetakan ke sgp dan dal.

Respons

integer
ID langganan (diperlukan untuk berhenti berlangganan)

Notifikasi

Setelah konfirmasi JSON, notifikasi dikirim sebagai frame WebSocket biner (bukan JSON). Prakonfirmasi Helius dan BAM menggunakan tata letak yang sama. Setiap frame adalah tata letak byte terkemas yang membawa satu transaksi: Payload tidak memiliki bidang sumber. Jangan menyimpulkan asal BAM dari tx_index = 0 karena sumber lain juga dapat melaporkan 0.
Selalu baca dan periksa byte version terlebih dahulu. Nilainya saat ini adalah 1. Jika Helius perlu memperbarui format payload, versinya akan bertambah — buat percabangan berdasarkan versi agar dekoder Anda tetap berfungsi saat skema berubah.
Prakonfirmasi adalah sinyal awal, bukan jaminan. Transaksi belum masuk ke onchain dan masih dapat gagal atau dibuang. Konfirmasikan bahwa transaksi telah masuk melalui pemeriksaan komitmen standar sebelum menganggapnya final.

Mendekode transaksi

Byte transaksi diteruskan persis seperti yang diserialisasi oleh validator, dalam pengodean wire standar untuk versi transaksi tersebut. Transaksi legacy dan v0 menggunakan tata letak yang mendahulukan tanda tangan seperti yang dihasilkan oleh bincode. Transaksi v1 (SIMD-0385) menggunakan tata letak yang mendahulukan pesan dengan tanda tangan di bagian akhir, sehingga bincode gagal pada payload v1. Gunakan dekoder yang menangani setiap versi. Di Rust, agave-transaction-view mengurai transaksi legacy, v0, dan v1 secara langsung dan merupakan opsi yang direkomendasikan; wincode dengan VersionedTransaction dari Solana SDK terbaru juga dapat digunakan. Di JavaScript, pastikan versi pustaka Anda mendukung transaksi v1. Lihat panduan untuk contoh Rust.

Notifikasi duplikat

Prakonfirmasi Helius dan BAM dideduplikasi per sumber, bukan antarsumber. Sebagian kecil transaksi mencapai Helius melalui keduanya, sehingga Anda dapat menerima tanda tangan yang sama dua kali, dan kedua salinannya dapat melaporkan slot yang berbeda. Lakukan deduplikasi berdasarkan tanda tangan di klien dan buat tindakan yang dipicu transaksi bersifat idempoten. Lihat panduan.

Harga

Preconfirmations tersedia pada semua paket berbayar: Developer, Business, Professional, dan Enterprise. Paket gratis tidak memenuhi syarat. Lihat Kredit untuk detailnya. Slot tanpa pesan yang dikirimkan tidak dikenai kredit, meskipun slot tersebut memiliki cakupan prakonfirmasi. Jika suatu slot mengirimkan setidaknya satu pesan, setiap langganan preconfSubscribe yang aktif ditagih sebesar nilai yang lebih besar antara 300 kredit atau 10 kredit per pesan yang dikirimkan. Slot yang tidak tercakup tidak dikenai kredit. Lihat Harga untuk mengetahui kelayakan penagihan berdasarkan sumber dan wilayah. Setiap langganan serentak ditagih secara terpisah saat menerima setidaknya satu pesan. Tutup langganan yang tidak lagi Anda perlukan dengan preconfUnsubscribe. Dengan includeSource: ["helius"], slot tercakup yang hanya menggunakan BAM dikecualikan dari penagihan. Jika regionInclude ditetapkan, slot tercakup di luar wilayah yang dipilih tidak dikenai biaya untuk langganan tersebut; slot yang cocok hanya ditagih jika langganan menerima setidaknya satu pesan. Penagihan dihitung per pesan, bukan per tanda tangan unik. Transaksi yang dikirimkan oleh Helius dan BAM dihitung dua kali. Tetapkan includeSource: ["helius"] jika Anda hanya menginginkan prakonfirmasi Helius.
Untuk mengendalikan biaya, gabungkan filter akun ke dalam satu langganan jika memungkinkan, gunakan regionInclude untuk membatasi penagihan ke wilayah yang Anda perlukan, tetapkan includeSource: ["helius"] jika Anda tidak memerlukan BAM, dan pantau kredit di Dasbor Helius.

Terkait

Preconfirmations Overview

Penjelasan tentang Preconfirmations dan posisinya dalam alur validator.

preconfUnsubscribe

Hentikan langganan berdasarkan ID-nya.