Apa itu LaserStream WebSocket?
LaserStream WebSocket adalah varian protokol WebSocket dari LaserStream. Layanan ini menyediakan metode langganan JSON-RPC Solana standar (accountSubscribe, programSubscribe, logsSubscribe, signatureSubscribe, slotSubscribe, …) beserta ekstensi khusus Helius seperti transactionSubscribe untuk pemfilteran lanjutan — semuanya pada endpoint wss://mainnet.helius-rpc.com terpadu yang sama dan backend LaserStream yang sama dengan produk gRPC.
WebSocket memberi Anda koneksi real-time yang persisten: alih-alih berulang kali melakukan polling untuk menanyakan “apakah ada perubahan?”, blockchain akan memberi tahu Anda begitu sesuatu terjadi.
Real-Time Updates
Dapatkan pemberitahuan seketika saat akun Solana berubah, transaksi terjadi, atau blok baru dihasilkan
Efficient Resource Usage
Satu koneksi persisten sebagai pengganti polling ratusan permintaan HTTP
Low Latency
Hingga 200 md lebih cepat daripada WebSocket standar berbasis RPC Agave, disediakan oleh LaserStream
Helius Extensions
transactionSubscribe dan accountSubscribe yang ditingkatkan untuk pemfilteran lanjutan di atas metode Solana standarEndpoint
WebSocket — baik metode Solana standar maupun ekstensi khusus Helius — disediakan dari satu endpoint terpadu untuk setiap jaringan: Mainnet:wss://mainnet.helius-rpc.com/?api-key=<API_KEY>
Devnet: wss://devnet.helius-rpc.com/?api-key=<API_KEY>
Gatekeeper (Beta)
Untuk menguji penawaran WebSocket tercepat kami, cobalah endpoint Gatekeeper (Beta) yang baru:wss://beta.helius-rpc.com/?api-key=<API_KEY>
Harga & Pengukuran Penggunaan
Penggunaan WebSocket diukur sebesar 2 kredit per 0,1 MB data streaming tanpa kompresi. Membuka koneksi dikenai biaya 1 kredit. Untuk beban kerja bervolume tinggi pada paket Professional, Add-On Data menyediakan kuota data bulanan (5 TB–100 TB) dengan biaya yang dapat diprediksi. Add-on data dapat diterapkan pada LaserStream dan WebSocket.Metode khusus Helius
transactionSubscribe dan accountSubscribe (dengan filter Helius) memerlukan paket Developer, Business, atau Professional. Metode Solana standar seperti programSubscribe, logsSubscribe, dan signatureSubscribe tersedia pada semua paket.Konsep Inti
Jenis Langganan
Account Subscriptions
Account Subscriptions
Pantau perubahan pada akun tertentu seperti saldo dompet, akun token, atau data program.Kasus penggunaan:
- Pelacakan saldo dompet
- Pemantauan akun token
- Perubahan status kontrak pintar
- Pembaruan kepemilikan NFT
Program Subscriptions
Program Subscriptions
Pantau semua akun yang dimiliki oleh program tertentu untuk mengetahui setiap perubahan.Kasus penggunaan:
- Pemantauan perdagangan DEX
- Pelacakan protokol DeFi
- Aktivitas marketplace NFT
- Perubahan aset gim
Transaction Subscriptions
Transaction Subscriptions
Dapatkan pemberitahuan saat transaksi tertentu dikonfirmasi atau saat transaksi menyebutkan akun tertentu.Kasus penggunaan:
- Konfirmasi pembayaran
- Pelacakan status transaksi
- Persetujuan multi-tanda tangan
- Pemantauan eksekusi kontrak
Slot Subscriptions
Slot Subscriptions
Pantau perkembangan dan finalitas blockchain pada tingkat slot.Kasus penggunaan:
- Aplikasi penjelajah blok
- Pemantauan kondisi jaringan
- Pelacakan konsensus
- Analitik performa
Tingkat Komitmen
Memahami tingkat komitmen sangat penting untuk membangun aplikasi yang andal:- Processed
- Confirmed
- Finalized
Tercepat - Transaksi diproses oleh validator tetapi belum dikonfirmasi
- Latensi: ~400 md
- Risiko: Dapat dibatalkan atau diurutkan ulang
- Gunakan untuk: Pembaruan UI real-time (dengan hati-hati)
Ingin mempelajari lebih lanjut tentang tingkat komitmen? Baca artikel blog lengkap kami: Memahami Tingkat Komitmen Solana
Metode WebSocket yang Tersedia
Helius mendukung seluruh rangkaian metode langganan WebSocket Solana serta ekstensi khusus Helius. Semua metode menggunakan endpointwss://mainnet.helius-rpc.com yang sama.
Ekstensi Helius
Dua metode menyediakan pemfilteran yang lebih lengkap daripada standar Solana:transactionSubscribe— berlangganan transaksi yang cocok dengan daftar akun yang disertakan/dikecualikan/diwajibkan, penanda suara/gagal, dan tanda tangan tertentuaccountSubscribe— Helius menambahkan filter lanjutan di atas strukturaccountSubscribestandar
Metode Solana standar
accountSubscribe, blockSubscribe, logsSubscribe, programSubscribe, rootSubscribe, signatureSubscribe, slotSubscribe, slotsUpdatesSubscribe, voteSubscribe dan pasangan *Unsubscribe yang terkait.
Complete API Reference
Jelajahi semua 18+ metode WebSocket. Setiap metode mencakup parameter terperinci, format respons, dan contoh.
Cara Menerapkan Logika Koneksi Ulang
Koneksi WebSocket dapat terputus karena berbagai alasan—masalah jaringan, pemeliharaan server, atau gangguan sementara. Aplikasi produksi harus menerapkan logika koneksi ulang untuk memastikan keandalan.Penyebab Koneksi Terputus
Network Issues
Network Issues
- Masalah konektivitas internet
- Peralihan Wi-Fi pada perangkat seluler
- Batas waktu firewall perusahaan
- Perubahan perutean ISP
Server-Side Events
Server-Side Events
- Periode pemeliharaan terjadwal
- Mulai ulang penyeimbang beban
- Pembaruan node RPC
- Perlindungan sementara terhadap beban berlebih
Client-Side Issues
Client-Side Issues
- Tab browser dipindahkan ke latar belakang
- Penangguhan aplikasi seluler
- Komputer memasuki mode tidur/hibernasi
- Proses mengalami crash atau dimulai ulang
Mendeteksi Koneksi Terputus
- JavaScript/Browser
- Node.js
Strategi Koneksi Ulang
- Exponential Backoff
- Circuit Breaker Pattern
Menguji Logika Koneksi Ulang
- Network Simulation
- Automated Testing
Pemecahan Masalah
Connection Failed
Connection Failed
Gejala: WebSocket gagal terhubung pada awalnyaSolusi:
- Pastikan kunci API Anda benar dan memiliki kredit yang cukup
- Periksa format URL endpoint:
wss://mainnet.helius-rpc.com?api-key=YOUR_KEY - Pastikan firewall Anda mengizinkan koneksi WebSocket pada port 443
- Uji terlebih dahulu dengan ping sederhana untuk memverifikasi konektivitas dasar
Frequent Disconnections
Frequent Disconnections
Gejala: Koneksi terputus setiap beberapa menitSolusi:
- WebSocket memiliki pengatur waktu tidak aktif selama 10 menit. Kirim ping setidaknya sekali per menit agar koneksi tetap aktif (lihat contoh koneksi ulang di atas dan FAQ WebSocket)
- Terapkan heartbeat ping/pong dengan benar (ditampilkan dalam contoh koneksi ulang di atas)
- Periksa stabilitas jaringan dan pengaturan firewall perusahaan Anda
- Pantau jumlah langganan Anda—terlalu banyak langganan dapat menyebabkan ketidakstabilan
- Pastikan Anda menangani siklus hidup koneksi dengan benar
Missing Messages
Missing Messages
Gejala: Tidak menerima pembaruan langganan yang diharapkanSolusi:
- Pastikan langganan Anda telah dikonfirmasi (periksa respons)
- Pastikan akun/program yang Anda pantau benar-benar memiliki aktivitas
- Pantau status koneksi Anda—pesan yang terlewat sering menunjukkan bahwa koneksi terputus
High Latency
High Latency
Gejala: Pengiriman pesan lambat, pembaruan tertundaSolusi:
- Gunakan komitmen “confirmed” alih-alih “finalized”
- Kurangi jumlah langganan aktif
- Optimalkan logika pemrosesan pesan Anda
- Pertimbangkan menggunakan beberapa koneksi untuk mendistribusikan beban
- Periksa kualitas koneksi jaringan Anda
Memory Leaks
Memory Leaks
Gejala: Penggunaan memori aplikasi meningkat seiring waktuSolusi:
- Terapkan pembersihan langganan dengan benar
- Hapus event listener saat komponen dilepas
- Bersihkan log pesan secara berkala
- Pantau jumlah langganan dan terapkan batas
- Gunakan referensi lemah untuk fungsi callback jika memungkinkan
Migrasi dari RPC Standar
Jika saat ini Anda menggunakan polling HTTP, berikut cara bermigrasi ke WebSocket:Kemampuan yang Ditingkatkan
Untuk aplikasi yang memerlukan fitur lebih canggih, pertimbangkan menggunakan LaserStream gRPC:24-Hour Historical Replay
Dapatkan kembali data yang terlewat saat aplikasi Anda offline
Multi-Node Aggregation
Keandalan yang lebih baik melalui data dari beberapa validator
Higher Throughput
Tangani lebih banyak langganan dan laju pesan yang lebih tinggi
Enterprise Features
Pemantauan, analitik, dan pipeline data tingkat lanjut