Skip to main content

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 standar

Endpoint

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

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
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
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
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:
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 endpoint wss://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 tertentu
  • accountSubscribe — Helius menambahkan filter lanjutan di atas struktur accountSubscribe standar

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

  • Masalah konektivitas internet
  • Peralihan Wi-Fi pada perangkat seluler
  • Batas waktu firewall perusahaan
  • Perubahan perutean ISP
  • Periode pemeliharaan terjadwal
  • Mulai ulang penyeimbang beban
  • Pembaruan node RPC
  • Perlindungan sementara terhadap beban berlebih
  • Tab browser dipindahkan ke latar belakang
  • Penangguhan aplikasi seluler
  • Komputer memasuki mode tidur/hibernasi
  • Proses mengalami crash atau dimulai ulang

Mendeteksi Koneksi Terputus

Strategi Koneksi Ulang

Menguji Logika Koneksi Ulang

Sangat Penting untuk Produksi: Penerapan logika koneksi ulang yang tepat wajib dilakukan untuk aplikasi produksi. Koneksi WebSocket akan terputus—antisipasi, uji, dan pantau hal tersebut dalam produksi.

Pemecahan Masalah

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
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
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
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
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

Mulai

Siap Memulai? Lihat Panduan Mulai Cepat WebSocket kami untuk mendapatkan contoh praktis dan penerapan langkah demi langkah.

Panduan

Tutorial langkah demi langkah dengan kode yang dapat dijalankan tersedia di halaman Panduan LaserStream WebSocket.