
Présentation des Enhanced WebSockets nouvelle génération
Sommaire
- Les défis des WebSockets et des applications en temps réel
- 1. Fragilité des connexions et charge élevée
- 2. Afflux massif de données
- 3. Évolutivité et surcharge des ressources
- 4. Du temps de développement détourné de l’innovation produit
- Enhanced WebSockets nouvelle génération
- Une résilience hors pair
- Hautes performances
- Des flux optimisés pour le frontend
- Choisir la bonne solution de streaming : comparaison
- Enhanced WebSockets
- LaserStream
- Shred Delivery
- Démarrage rapide avec les Enhanced WebSockets
- Endpoints
- Exemple : surveiller les nouveaux pools Raydium Launchpad
- Tarification et mesure de l’utilisation
- Améliorez vos flux dès aujourd’hui
Le streaming de données en temps réel est essentiel pour créer des applications réactives sur Solana. Les WebSockets constituent depuis longtemps le protocole de référence pour établir une communication bidirectionnelle persistante, remplaçant les requêtes HTTP répétées et inefficaces par une connexion unique.
Bien que les WebSockets soient préférables aux requêtes HTTP traditionnelles, ils présentent de nombreux défis susceptibles de compromettre la fiabilité, ce qui est particulièrement problématique dans les environnements à haut débit comme Solana. Des déconnexions aléatoires au filtrage insuffisant, ces problèmes ont toujours contraint les développeurs à consacrer beaucoup de temps et d’efforts à des solutions personnalisées, souvent au détriment de l’innovation produit.
Chez Helius, nous avons identifié ces difficultés depuis longtemps. Nous avons précédemment lancé les Enhanced WebSockets, une solution plus rapide et plus personnalisable pour diffuser les mises à jour des transactions et des comptes. Mais à mesure que notre infrastructure évoluait, il est devenu évident que même ces améliorations n’atteignaient pas encore les niveaux de résilience et de performance possibles avec Helius.
Nous sommes heureux d’annoncer que les Enhanced WebSockets reposent désormais sur la même infrastructure que LaserStream, notre service de streaming gRPC nouvelle génération conçu pour la vitesse, la simplicité et la tolérance aux pannes.
Cette intégration apporte aux flux WebSocket une fiabilité de niveau gRPC dans un format JSON natif, élimine les connexions fragiles et permet aux développeurs frontend de se concentrer sur la meilleure expérience utilisateur possible.
Les défis des WebSockets et des applications en temps réel
Les WebSockets promettent la magie d’une communication bidirectionnelle persistante : une connexion unique pour les notifications push au lieu d’interroger continuellement des endpoints HTTP. Aussi séduisant que cela puisse paraître, les WebSockets ne sont pas exempts de problèmes :
1. Fragilité des connexions et charge élevée
Les WebSockets maintiennent des connexions TCP avec état et de longue durée. Ils sont donc vulnérables aux interruptions causées par des perturbations réseau, des expirations de délai des proxys ou des serveurs surchargés.
Les slots de 400 ms de Solana et les pics de trafic accentuent les vulnérabilités des WebSockets. Les développeurs doivent donc mettre en œuvre une logique de reconnexion personnalisée, notamment des délais exponentiels et des pings de contrôle, pour garantir la disponibilité.
2. Afflux massif de données
Les abonnements WebSocket renvoient souvent trop de données.
Les abonnements natifs, comme accountSubscribe, fournissent des flux non filtrés qui submergent les développeurs de données inutiles. Ceux-ci doivent alors effectuer le filtrage côté client, ce qui peut augmenter l’utilisation de la bande passante et entraîner des délais de traitement.
3. Évolutivité et surcharge des ressources
La gestion de milliers de connexions simultanées sollicite fortement les ressources des serveurs, entraînant des fuites de mémoire, des goulots d’étranglement au niveau du CPU, une complexité accrue des répartiteurs de charge et la nécessité de répartir les connexions en shards pour gérer la charge.
La mise à l’échelle horizontale des WebSockets est notoirement difficile, et la plupart des équipes ne disposent ni du temps, ni des ressources, ni de l’expertise nécessaires pour la maîtriser.
4. Du temps de développement détourné de l’innovation produit
Ensemble, ces défis réduisent le temps consacré à la création de fonctionnalités et d’applications nouvelles et différenciées. Cette inefficacité constitue un coût caché qui freine le progrès dans l’écosystème Solana, en évolution rapide.
Ces difficultés persistantes rendent les WebSockets Solana standard inadaptés aux applications de production, où même les interruptions les plus brèves peuvent entraîner des occasions manquées ou des interfaces obsolètes.
Enhanced WebSockets nouvelle génération
Nous avons lancé les Enhanced WebSockets, une version des WebSockets Solana standard optimisée par Geyser pour améliorer les abonnements aux comptes et aux transactions, afin de combler ces lacunes.
Cette solution a apporté des filtres puissants (par exemple, jusqu’à 50 000 adresses via accountInclude, accountExclude et accountRequired), ainsi que des temps de réponse plus rapides que les WebSockets traditionnels. Cependant, notre infrastructure de streaming de données s’est améliorée depuis son lancement initial.
Les Enhanced WebSockets reposent désormais sur la même infrastructure que LaserStream, notre service de streaming gRPC nouvelle génération, conçu pour la vitesse, la fiabilité et la simplicité.
Profitez désormais de la fiabilité de gRPC dans une enveloppe WebSocket.
Les principales améliorations comprennent :
Une résilience hors pair
Les Enhanced WebSockets diffusent désormais simultanément les données depuis plusieurs nœuds agrégés, avec des basculements automatiques. Ils renforcent ainsi la résilience en éliminant tout point de défaillance unique et garantissent une disponibilité maximale.
Hautes performances
LaserStream est spécialement conçu pour le streaming de données à très faible latence. Les Enhanced WebSockets bénéficient désormais de nos dernières améliorations pour fournir les notifications les plus rapides possible.
Des flux optimisés pour le frontend
Les payloads JSON des Enhanced WebSockets, soutenus par une infrastructure modernisée, permettent aux développeurs frontend d’intégrer directement des flux haute fidélité dans les navigateurs, les applications React et les clients mobiles.
Choisir la bonne solution de streaming : comparaison
Chez Helius, nous proposons différents services de streaming de données conçus pour des cas d’usage spécifiques, présentés ci-dessous.
Enhanced WebSockets
Les développeurs doivent utiliser les Enhanced WebSockets lorsque :
- La latence, la continuité et l’exactitude n’affectent pas le PnL, les exécutions ou le risque
- Vous souhaitez recevoir des payloads JSON
- Vous privilégiez l’expérience utilisateur sans la complexité du backend
| Cas d’usage | Exemples |
| Expérience utilisateur frontend en temps réel | - Soldes des portefeuilles - Tableaux de bord de portefeuille - Notifications intégrées à l’application - Expérience utilisateur grand public |
LaserStream
Les développeurs doivent utiliser LaserStream lorsque :
- Chaque milliseconde compte
- La latence, la continuité et l’exactitude affectent le PnL, les exécutions et/ou le risque
- Vous avez besoin de fonctionnalités de filtrage plus avancées
- Vous avez besoin d’une livraison sans interruption avec relecture automatique
- Vous devez recevoir les transactions à différents niveaux de commitment
| Cas d’usage | Exemples |
| Traitement backend piloté par les événements | - Systèmes de trading et de gestion des risques - Outils de suivi des prix et des flux d’ordres - Outils de surveillance des liquidations - Moteurs interplateformes |
Demandez un essai gratuit pour déterminer si LaserStream vous convient.
Shred Delivery
Les développeurs doivent utiliser Shred Delivery lorsque :
- Vous avez besoin de signaux bruts
- Vous disposez d’un pipeline personnalisé de reconstitution des shreds, ou pouvez en créer un
Si vous souhaitez bénéficier d’une latence au niveau des shreds sans disposer d’un pipeline de reconstitution, Preprocessed Transactions transmet les shreds décodés via WebSocket.
| Cas d’usage | Exemples |
| Capture de signaux à très faible latence | - Trading haute fréquence - Arbitrage interplateformes - Sniping de tokens |
En résumé :
- Utilisez les Enhanced WebSockets pour les flux non critiques adaptés au frontend.
- Utilisez LaserStream pour les boucles de décision backend lorsque les écarts de latence ou la continuité des données ont un impact direct sur les opportunités.
- Utilisez Shred Delivery si vous exploitez un pipeline personnalisé de reconstitution des shreds afin d’obtenir au plus tôt les signaux issus des shreds bruts.
Demandez un essai gratuit pour déterminer si Shred Delivery vous convient.
Démarrage rapide avec les Enhanced WebSockets
La prise en main des Enhanced WebSockets est simple.
Pour commencer, inscrivez-vous et obtenez une clé API dans la section « API Keys ».
Connectez-vous simplement à l’un de nos endpoints, abonnez-vous via transactionSubscribe ou accountSubscribe, puis commencez à recevoir des flux filtrés et résilients.
Les Enhanced WebSockets sont disponibles avec les plans Business et supérieurs. Les WebSockets Solana standard sont disponibles avec les plans gratuits et payants.
Endpoints
- Mainnet :
wss://atlas-mainnet.helius-rpc.com/?api-key=<YOUR_API_KEY> - Mainnet (Gatekeeper Beta) :
wss://beta.helius-rpc.com/?api-key=<YOUR_API_KEY> - Devnet :
wss://atlas-devnet.helius-rpc.com/?api-key=<YOUR_API_KEY>
Exemple : surveiller les nouveaux pools Raydium Launchpad
Le script Node.js suivant montre simplement comment utiliser les Enhanced WebSockets dans un environnement de production pour s’abonner au programme Launchpad de Raydium avec transactionSubscribe, afin de filtrer les initialisations de pools réussies grâce à l’analyse des logs :
import WebSocket from 'ws';
const API_KEY = process.env.HELIUS_API_KEY; // Set your API key as an env var
const WS_URL = `wss://atlas-mainnet.helius-rpc.com/?api-key=${API_KEY}`;
const
RAYDIUM_LAUNCHPAD_PROG
= '
LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj
';
const ws = new WebSocket(WS_URL);
ws.on('open', () => {
console.log('Connected to LaserStream-Powered Enhanced WebSockets!');
ws.send(JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'transactionSubscribe',
params: [
{
failed: false,
accountInclude: [
RAYDIUM_LAUNCHPAD_PROG
]
},
{
commitment: 'confirmed',
encoding: 'jsonParsed',
transactionDetails: 'full',
maxSupportedTransactionVersion: 0
}
]
}));
// Optional heartbeat ping
setInterval(() => {
if (ws.readyState === WebSocket.OPEN) {
ws.send(JSON.stringify({ jsonrpc: '2.0', id: Date.now(), method: 'ping' }));
}
}, 30000);
});
ws.on('message', (data) => {
try {
const payload = JSON.parse(data.toString());
const result = payload.params?.result;
if (!result) return;
// Filter for init logs
const logs = result.transaction.meta.logMessages || [];
if (!logs.some(log => log.includes('Instruction: Initialize'))) return;
const keys = result.transaction.transaction.message.accountKeys.map(k => k.pubkey);
console.table({
Signature: result.signature,
Creator: keys[1], // From IDL: accounts[1] is creator
BaseMint: keys[7], // From IDL: base_mint is around index 7 in initialize accounts
Slot: result.slot
});
} catch (err) {
console.error('Message parse error:', err);
}
});
ws.on('error', (err) => console.error('WebSocket error:', err));
ws.on('close', () => {
console.log('Disconnected');
});
Exécutez le code ci-dessus avec :
export HELIUS_API_KEY=your-api-key-here
node raydium-launchpad-stream.jsLe script suivant diffusera dans la console un tableau des pools récemment lancés, tout en garantissant une livraison sans interruption, même en cas de charge élevée.
Tarification et mesure de l’utilisation
Dans le cadre de nos investissements continus dans la latence et la fiabilité, à compter du 16 octobre 2025, les nouveaux plans mesureront l’utilisation des Enhanced WebSockets selon le même tarif que LaserStream (soit 3 crédits par tranche de 0,1 Mo de données diffusées).
Les plans Professional permettent d’acheter des données supplémentaires à un tarif fixe, utilisables pour les besoins de streaming de données avec les Enhanced WebSockets ou LaserStream.
Si vous disposez déjà d’un plan, votre tarification, vos limites et votre facturation restent strictement inchangées. Aucune action n’est requise.
Les WebSockets standard restent inchangés et sont disponibles avec les plans gratuits et payants.
Améliorez vos flux dès aujourd’hui
Fiabilité, performances et simplicité : vos flux sont prêts à évoluer avec vous. Commencez dès aujourd’hui à développer avec les Enhanced WebSockets. Inscrivez-vous, obtenez une clé API et offrez davantage de fiabilité à vos frontends.
Diffusez vos données plus intelligemment, innovez plus rapidement.
Articles associés
Abonnez-vous à Helius
Suivez les dernières actualités du développement sur Solana et recevez une notification à chaque publication


