Was ist LaserStream WebSocket?
LaserStream WebSocket ist die WebSocket-Protokollvariante von LaserStream. Sie stellt die standardmäßigen Solana-JSON-RPC-Subscription-Methoden (accountSubscribe, programSubscribe, logsSubscribe, signatureSubscribe, slotSubscribe, …) sowie Helius-spezifische Erweiterungen wie transactionSubscribe für erweiterte Filterung bereit — alle über denselben einheitlichen wss://mainnet.helius-rpc.com endpoint und dasselbe LaserStream-Backend wie das gRPC-Produkt.
WebSockets bieten dir eine dauerhafte Echtzeitverbindung: Statt wiederholt abzufragen, ob sich etwas geändert hat, benachrichtigt dich die Blockchain sofort, wenn etwas passiert.
Real-Time Updates
Erhalte sofort eine Benachrichtigung, wenn sich Solana-Konten ändern, Transaktionen stattfinden oder neue Blöcke erzeugt werden
Efficient Resource Usage
Eine dauerhafte Verbindung statt hunderter wiederholter HTTP requests
Low Latency
Bis zu 200 ms schneller als standardmäßige Agave-RPC-basierte WebSockets, bereitgestellt von LaserStream
Helius Extensions
transactionSubscribe und ein erweiterter accountSubscribe für zusätzliche Filterung auf Basis der standardmäßigen Solana-MethodenEndpoints
WebSockets — sowohl die standardmäßigen Solana-Methoden als auch die Helius-spezifischen Erweiterungen — werden pro Netzwerk über einen einzigen einheitlichen endpoint bereitgestellt: Mainnet:wss://mainnet.helius-rpc.com/?api-key=<API_KEY>
Devnet: wss://devnet.helius-rpc.com/?api-key=<API_KEY>
Gatekeeper (Beta)
Teste unser schnellstes WebSocket-Angebot über den neuen Gatekeeper (Beta) endpoint:wss://beta.helius-rpc.com/?api-key=<API_KEY>
Preise und Abrechnung
Die WebSocket-Nutzung wird mit 2 Credits pro 0,1 MB unkomprimierter gestreamter Daten abgerechnet. Das Öffnen einer Verbindung kostet 1 Credit. Für Workloads mit hohem Datenvolumen in Professional-Tarifen bieten Daten-Add-ons monatliche Datenkontingente (5 TB–100 TB) zu planbaren Kosten. Daten-Add-ons können für LaserStream und WebSockets verwendet werden.Die Helius-spezifischen Methoden
transactionSubscribe und accountSubscribe (mit Helius-Filtern) erfordern einen Tarif vom Typ Developer, Business oder Professional. Standardmäßige Solana-Methoden wie programSubscribe, logsSubscribe und signatureSubscribe sind in allen Tarifen verfügbar.Grundkonzepte
Subscription-Typen
Account Subscriptions
Account Subscriptions
Überwache Änderungen an bestimmten Konten, etwa Wallet-Guthaben, Konten für token oder Programmdaten.Anwendungsfälle:
- Wallet-Guthaben verfolgen
- Konten für token überwachen
- Zustandsänderungen von Smart Contracts
- Aktualisierungen der NFT-Inhaberschaft
Program Subscriptions
Program Subscriptions
Überwache alle Konten eines bestimmten Programms auf Änderungen.Anwendungsfälle:
- DEX-Handel überwachen
- DeFi-Protokolle verfolgen
- Aktivitäten auf NFT-Marktplätzen
- Änderungen an Gaming-Assets
Transaction Subscriptions
Transaction Subscriptions
Erhalte eine Benachrichtigung, wenn bestimmte Transaktionen bestätigt werden oder bestimmte Konten erwähnen.Anwendungsfälle:
- Zahlungsbestätigungen
- Transaktionsstatus verfolgen
- Multi-Signatur-Freigaben
- Ausführung von Verträgen überwachen
Slot Subscriptions
Slot Subscriptions
Überwache den Fortschritt der Blockchain und die Finalität für jeden slot.Anwendungsfälle:
- Block-Explorer-Anwendungen
- Netzwerkzustand überwachen
- Konsens verfolgen
- Performance-Analysen
Commitment-Stufen
Du musst die commitment-Stufen verstehen, um zuverlässige Anwendungen zu entwickeln:- Processed
- Confirmed
- Finalized
Am schnellsten – Transaktion wurde von einem Validator verarbeitet, aber nicht bestätigt
- Latenz: ~400 ms
- Risiko: Kann verworfen oder neu angeordnet werden
- Geeignet für: Echtzeitaktualisierungen der Benutzeroberfläche (mit Vorsicht)
Möchtest du mehr über commitment-Stufen erfahren? Lies unseren ausführlichen Blogbeitrag: Solana-Commitment-Stufen verstehen
Verfügbare WebSocket-Methoden
Helius unterstützt alle Solana-WebSocket-Subscription-Methoden sowie Helius-spezifische Erweiterungen. Alle Methoden verwenden denselbenwss://mainnet.helius-rpc.com endpoint.
Helius-Erweiterungen
Zwei Methoden bieten umfangreichere Filter als der Solana-Standard:transactionSubscribe— abonniere Transaktionen anhand von Listen einzuschließender, auszuschließender und erforderlicher Konten, Abstimmungs- und Fehler-Flags sowie einer bestimmten SignaturaccountSubscribe— Helius ergänzt die standardmäßige Struktur vonaccountSubscribeum erweiterte Filter
Standardmäßige Solana-Methoden
accountSubscribe, blockSubscribe, logsSubscribe, programSubscribe, rootSubscribe, signatureSubscribe, slotSubscribe, slotsUpdatesSubscribe, voteSubscribe und die zugehörigen *Unsubscribe-Paare.
Complete API Reference
Entdecke alle über 18 WebSocket-Methoden. Jede Methode enthält detaillierte Parameter, response-Formate und Beispiele.
Logik für erneute Verbindungen implementieren
WebSocket-Verbindungen können aus verschiedenen Gründen getrennt werden, etwa wegen Netzwerkproblemen, Serverwartungen oder vorübergehenden Ausfällen. Produktionsanwendungen müssen eine Logik für erneute Verbindungen implementieren, um zuverlässig zu funktionieren.Warum Verbindungen getrennt werden
Network Issues
Network Issues
- Probleme mit der Internetverbindung
- WLAN-Wechsel auf Mobilgeräten
- timeouts durch Unternehmens-Firewalls
- Routing-Änderungen beim Internetanbieter
Server-Side Events
Server-Side Events
- Geplante Wartungsfenster
- Neustarts von Load-Balancern
- Updates für RPC node
- Temporärer Überlastungsschutz
Client-Side Issues
Client-Side Issues
- Browser-Tabs im Hintergrund
- Angehaltene mobile Apps
- Energiespar- oder Ruhezustand des Computers
- Prozessabstürze oder -neustarts
Verbindungsabbrüche erkennen
- JavaScript/Browser
- Node.js
Strategien für erneute Verbindungen
- Exponential Backoff
- Circuit Breaker Pattern
Logik für erneute Verbindungen testen
- Network Simulation
- Automated Testing
Fehlerbehebung
Connection Failed
Connection Failed
Symptome: WebSocket kann anfangs keine Verbindung herstellenLösungen:
- Prüfe, ob dein API key korrekt ist und über genügend Credits verfügt
- Prüfe das Format der endpoint-URL:
wss://mainnet.helius-rpc.com?api-key=YOUR_KEY - Stelle sicher, dass deine Firewall WebSocket-Verbindungen über Port 443 zulässt
- Teste zuerst mit einem einfachen Ping, ob die grundlegende Verbindung funktioniert
Frequent Disconnections
Frequent Disconnections
Symptome: Die Verbindung wird alle paar Minuten getrenntLösungen:
- WebSockets haben einen 10-minütigen Inaktivitäts-Timer. Sende mindestens einmal pro Minute einen Ping, um die Verbindung aufrechtzuerhalten. Siehe dazu die Beispiele für erneute Verbindungen oben und die WebSocket-FAQ
- Implementiere einen korrekten Ping/Pong-Heartbeat (wie in den Beispielen für erneute Verbindungen oben gezeigt)
- Prüfe die Stabilität deines Netzwerks und die Einstellungen deiner Unternehmens-Firewall
- Überwache die Anzahl deiner Subscriptions. Zu viele können Instabilität verursachen
- Stelle sicher, dass du den Lebenszyklus der Verbindung korrekt verwaltest
Missing Messages
Missing Messages
Symptome: Erwartete Subscription-Aktualisierungen werden nicht empfangenLösungen:
- Prüfe, ob deine Subscription bestätigt wurde (siehe response)
- Stelle sicher, dass im überwachten Konto oder Programm tatsächlich Aktivität stattfindet
- Überwache den Verbindungsstatus. Fehlende Nachrichten weisen häufig auf Verbindungsabbrüche hin
High Latency
High Latency
Symptome: Langsame Nachrichtenübermittlung und verzögerte AktualisierungenLösungen:
- Verwende das commitment „confirmed“ statt „finalized“
- Reduziere die Anzahl aktiver Subscriptions
- Optimiere deine Logik zur Nachrichtenverarbeitung
- Erwäge mehrere Verbindungen, um die Last zu verteilen
- Prüfe die Qualität deiner Netzwerkverbindung
Memory Leaks
Memory Leaks
Symptome: Der Arbeitsspeicherverbrauch der Anwendung steigt mit der ZeitLösungen:
- Bereinige Subscriptions ordnungsgemäß
- Entferne Event-Listener, wenn Komponenten ausgehängt werden
- Lösche Nachrichtenprotokolle regelmäßig
- Überwache die Anzahl der Subscriptions und setze Grenzwerte durch
- Verwende nach Möglichkeit schwache Referenzen für Callback-Funktionen
Migration von standardmäßigem RPC
Wenn du derzeit HTTP-Polling verwendest, kannst du so zu WebSockets migrieren:Erweiterte Funktionen
Wenn deine Apps noch umfangreichere Funktionen benötigen, solltest du LaserStream gRPC verwenden:24-Hour Historical Replay
Hole verpasste Daten nach, wenn deine App offline war
Multi-Node Aggregation
Höhere Zuverlässigkeit durch Daten von mehreren Validatoren
Higher Throughput
Verarbeite mehr Subscriptions und höhere Nachrichtenraten
Enterprise Features
Erweiterte Überwachung, Analysen und Datenpipelines