includeSource untuk memilih salah satu sumber.
Endpoint
preconfSubscribe disediakan dari endpoint Gatekeeper Helius:
wss://beta.helius-rpc.com/?api-key=<API_KEY>
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.-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.
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 olehbincode. 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 langgananpreconfSubscribe 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.
Terkait
Preconfirmations Overview
Penjelasan tentang Preconfirmations dan posisinya dalam alur validator.
preconfUnsubscribe
Hentikan langganan berdasarkan ID-nya.