Qu’est-ce que LaserStream WebSocket ?
LaserStream WebSocket est la variante du protocole WebSocket de LaserStream. Il sert les méthodes d’abonnement JSON-RPC standard de Solana (accountSubscribe, programSubscribe, logsSubscribe, signatureSubscribe, slotSubscribe, …) ainsi que des extensions spécifiques à Helius comme transactionSubscribe pour un filtrage avancé — le tout sur le même point de terminaison unifié wss://mainnet.helius-rpc.com et sur le même backend LaserStream que le produit gRPC.
Les WebSockets vous donnent une connexion persistante et en temps réel : au lieu de sonder à plusieurs reprises « quelque chose a-t-il changé ? », la blockchain vous avertit dès qu’il se passe quelque chose.
Mises à jour en temps réel
Soyez instantanément averti lorsque les comptes Solana changent, que des transactions ont lieu ou que de nouveaux blocs sont produits
Utilisation efficace des ressources
Une connexion persistante au lieu de sonder des centaines de requêtes HTTP
Faible latence
Jusqu’à 200 ms plus rapide que les WebSockets standard basés sur Agave RPC, servis par LaserStream
Extensions Helius
transactionSubscribe et un accountSubscribe amélioré pour un filtrage avancé au-dessus des méthodes standard SolanaPoints de terminaison
Les WebSockets — à la fois les méthodes standard de Solana et les extensions spécifiques à Helius — sont servis à partir d’un seul point de terminaison unifié par réseau : Mainnet :wss://mainnet.helius-rpc.com/?api-key=<API_KEY>
Devnet : wss://devnet.helius-rpc.com/?api-key=<API_KEY>
Gatekeeper (Bêta)
Pour tester notre offre WebSocket la plus rapide, essayez le nouveau point de terminaison Gatekeeper (Bêta) :wss://beta.helius-rpc.com/?api-key=<API_KEY>
Tarification et mesure
L’utilisation des WebSockets est mesurée à 2 crédits par 0,1 MB de données diffusées non compressées. Ouvrir une connexion coûte 1 crédit. Pour des charges de travail à haut volume sur les plans Professionnels, Add-ons de données offrent des allocations mensuelles de données (5TB–100TB) à des coûts prévisibles. Les add-ons de données peuvent être appliqués à LaserStream et aux WebSockets.Les méthodes spécifiques à Helius
transactionSubscribe et accountSubscribe (avec des filtres Helius) nécessitent un plan Développeur, Entreprise ou Professionnel. Les méthodes standard de Solana comme programSubscribe, logsSubscribe, et signatureSubscribe sont disponibles sur tous les plans.Concepts de base
Types d’abonnement
Abonnements aux comptes
Abonnements aux comptes
Surveillez les changements sur des comptes spécifiques comme les soldes de portefeuilles, les comptes de tokens ou les données des programmes.Cas d’utilisation :
- Suivi des soldes de portefeuille
- Surveillance des comptes de tokens
- Changements d’état des smart contracts
- Mises à jour de la propriété des NFT
Abonnements aux programmes
Abonnements aux programmes
Surveillez tous les comptes détenus par un programme spécifique pour détecter tout changement.Cas d’utilisation :
- Surveillance des échanges DEX
- Suivi des protocoles DeFi
- Activité sur les marchés NFT
- Changements d’actifs dans les jeux
Abonnements aux transactions
Abonnements aux transactions
Recevez une notification lorsque des transactions spécifiques sont confirmées ou lorsque des transactions mentionnent certains comptes.Cas d’utilisation :
- Confirmations de paiement
- Suivi du statut des transactions
- Approbations multi-signatures
- Surveillance de l’exécution des contrats
Abonnements aux slots
Abonnements aux slots
Surveillez la progression de la blockchain et la finalité au niveau des slots.Cas d’utilisation :
- Applications d’exploration de blocs
- Surveillance de la santé du réseau
- Suivi du consensus
- Analyses de performance
Niveaux d’engagement
Comprendre les niveaux d’engagement est crucial pour des applications fiables :- Traitée
- Confirmée
- Finalisée
La plus rapide - Transaction traitée par un validateur mais non confirmée
- Latence : ~400ms
- Risque : Peut être abandonnée ou réorganisée
- Utilisation : Mises à jour d’interface en temps réel (avec prudence)
Vous voulez en savoir plus sur les niveaux d’engagement ? Lisez notre article de blog complet : Comprendre les niveaux d’engagement de Solana
Méthodes WebSocket disponibles
Helius prend en charge l’ensemble complet des méthodes d’abonnement WebSocket Solana, plus des extensions spécifiques à Helius. Toutes les méthodes partagent le même point de terminaisonwss://mainnet.helius-rpc.com.
Extensions Helius
Deux méthodes offrent un filtrage plus riche que la norme Solana :transactionSubscribe— s’abonner aux transactions correspondant aux listes de comptes à inclure/exclure/requis, indicateurs de vote/échec, et une signature spécifiqueaccountSubscribe— Helius ajoute des filtres avancés au-dessus de la forme standardaccountSubscribe
Méthodes standard Solana
accountSubscribe, blockSubscribe, logsSubscribe, programSubscribe, rootSubscribe, signatureSubscribe, slotSubscribe, slotsUpdatesSubscribe, voteSubscribe et leurs paires correspondantes *Unsubscribe.
Référence API complète
Explorez les 18+ méthodes WebSocket. Chaque méthode inclut des paramètres détaillés, des formats de réponse et des exemples.
Comment implémenter la logique de reconnexion
Les connexions WebSocket peuvent être déconnectées pour diverses raisons - problèmes de réseau, maintenance du serveur ou pannes temporaires. Les applications en production doivent implémenter une logique de reconnexion pour garantir la fiabilité.Pourquoi les déconnexions se produisent
Problèmes de réseau
Problèmes de réseau
- Problèmes de connectivité Internet
- Transferts WiFi sur les appareils mobiles
- Expirations de pare-feu d’entreprise
- Changements de routage ISP
Événements côté serveur
Événements côté serveur
- Fenêtres de maintenance planifiées
- Redémarrages de l’équilibreur de charge
- Mises à jour des nœuds RPC
- Protection contre la surcharge temporaire
Problèmes côté client
Problèmes côté client
- Onglet de navigateur en arrière-plan
- Suspension de l’application mobile
- Veille/hibernation de l’ordinateur
- Plantages ou redémarrages de processus
Détection des déconnexions
- Node.js
Stratégies de reconnexion
- Backoff exponentiel
- Modèle de disjoncteur
Tester la logique de reconnexion
- Simulation de réseau
- Tests automatisés
Dépannage
Échec de connexion
Échec de connexion
Symptômes : WebSocket ne parvient pas à se connecter initialementSolutions :
- Vérifiez que votre clé API est correcte et dispose de suffisamment de crédits
- Vérifiez le format de l’URL de point de terminaison :
wss://mainnet.helius-rpc.com?api-key=YOUR_KEY - Assurez-vous que votre pare-feu autorise les connexions WebSocket sur le port 443
- Testez d’abord avec un simple ping pour vérifier la connectivité de base
Déconnexions fréquentes
Déconnexions fréquentes
Symptômes : La connexion tombe toutes les quelques minutesSolutions :
- Les WebSockets ont une minuterie d’inactivité de 10 minutes. Envoyez un ping au moins une fois par minute pour garder la connexion active (voir les exemples de reconnexion ci-dessus et la FAQ WebSocket)
- Implémentez un battement ping/pong approprié (comme montré dans les exemples de reconnexion ci-dessus)
- Vérifiez la stabilité de votre réseau et les paramètres du pare-feu d’entreprise
- Surveillez votre nombre d’abonnements - trop peuvent causer de l’instabilité
- Vérifiez que vous gérez correctement le cycle de vie de la connexion
Messages manquants
Messages manquants
Symptômes : Non réception des mises à jour d’abonnement attenduesSolutions :
- Vérifiez que votre abonnement est confirmé (vérifiez la réponse)
- Assurez-vous que le compte/programme que vous surveillez a une activité réelle
- Surveillez l’état de votre connexion - messages manqués indiquent souvent des déconnexions
Haute latence
Haute latence
Symptômes : Livraison lente des messages, retards dans les mises à jourSolutions :
- Utilisez “confirmée” au lieu de “finalisée” comme engagement
- Réduisez le nombre d’abonnements actifs
- Optimisez votre logique de traitement des messages
- Envisagez d’utiliser plusieurs connexions pour répartir la charge
- Vérifiez la qualité de votre connexion réseau
Fuites de mémoire
Fuites de mémoire
Symptômes : L’utilisation de la mémoire de l’application augmente avec le tempsSolutions :
- Implémentez un nettoyage approprié des abonnements
- Supprimez les écouteurs d’événements lorsque les composants sont démontés
- Effacez les journaux de messages périodiquement
- Surveillez le nombre d’abonnements et appliquez des limites
- Utilisez des références faibles pour les fonctions de rappel lorsque cela est possible
Migration depuis le RPC standard
Si vous utilisez actuellement le sondage HTTP, voici comment migrer vers les WebSockets :Capacités améliorées
Pour les applications nécessitant des fonctionnalités encore plus avancées, envisagez d’utiliser LaserStream gRPC :Relecture historique de 24 heures
Rattrapez les données manquées lorsque votre application était hors ligne
Agrégation multi-nœuds
Meilleure fiabilité via des données de plusieurs validateurs
Débit plus élevé
Gérez plus d’abonnements et des taux de messages plus élevés
Fonctionnalités d'entreprise
Surveillance avancée, analyses et pipelines de données