Skip to main content

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 Solana

Points 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

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
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
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
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 :
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 terminaison wss://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écifique
  • accountSubscribe — Helius ajoute des filtres avancés au-dessus de la forme standard accountSubscribe

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 connectivité Internet
  • Transferts WiFi sur les appareils mobiles
  • Expirations de pare-feu d’entreprise
  • Changements de routage ISP
  • Fenêtres de maintenance planifiées
  • Redémarrages de l’équilibreur de charge
  • Mises à jour des nœuds RPC
  • Protection contre la surcharge temporaire
  • 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

Stratégies de reconnexion

Tester la logique de reconnexion

Critique pour la production : Implémenter une logique de reconnexion appropriée n’est pas optionnel pour les applications en production. Les connexions WebSocket se déconnecteront - prévoyez-le, testez-le et surveillez-le en production.

Dépannage

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

Commencer

Prêt à commencer ? Consultez notre Guide de démarrage rapide WebSocket pour des exemples pratiques et une implémentation étape par étape.

Guides

Tutoriels étape par étape avec du code exécutable en direct sur la page Guides LaserStream WebSocket.