NEU: Helius übernimmt Light Protocol
Helius' Enhanced Solana WebSockets basieren jetzt auf LaserStream
Blog/Updates

Neu: Enhanced WebSockets der nächsten Generation

Developer Experience Engineer0xIchigo auf X0xIchigo auf LinkedIn0xIchigo auf GitHub
6 Min. Lesezeit

Echtzeit-Datenstreaming ist unverzichtbar, um reaktionsschnelle Anwendungen auf Solana zu entwickeln. WebSockets sind seit Langem das bevorzugte Protokoll für persistente, bidirektionale Kommunikation. Sie ersetzen ineffizientes HTTP-Polling durch eine einzige Verbindung.

WebSockets sind herkömmlichem HTTP-Polling zwar überlegen, bringen aber zahlreiche Herausforderungen mit sich, die ihre Zuverlässigkeit beeinträchtigen können. Das ist in Umgebungen mit hohem Durchsatz wie Solana besonders problematisch. Von zufälligen Verbindungsabbrüchen bis zu unzureichenden Filtern mussten Entwickler bislang viel Zeit und Aufwand in eigene Gegenmaßnahmen investieren – oft zulasten zentraler Produktinnovationen.

Bei Helius kennen wir diese Probleme schon lange. Deshalb haben wir Enhanced WebSockets eingeführt, eine schnellere und flexiblere Option zum Streamen von Transaktions- und Account-Updates. Mit der Weiterentwicklung unserer Infrastruktur wurde jedoch klar, dass selbst diese Verbesserungen nicht die Ausfallsicherheit und Performance erreichen, die mit Helius möglich sind.

Wir freuen uns, bekannt zu geben, dass Enhanced WebSockets jetzt auf derselben Infrastruktur basieren wie LaserStream, unser gRPC-Streaming-Service der nächsten Generation für Geschwindigkeit, Einfachheit und Fehlertoleranz. 

Diese Integration bietet WebSocket-Streams die Zuverlässigkeit von gRPC in einem nativen JSON-Format. Sie beseitigt instabile Verbindungen und ermöglicht Frontend-Entwicklern, sich darauf zu konzentrieren, die bestmögliche UX bereitzustellen.

Die Herausforderungen von WebSockets und Echtzeitanwendungen

WebSockets versprechen persistente, bidirektionale Kommunikation: Eine einzige Verbindung überträgt Push-Benachrichtigungen, statt kontinuierlich HTTP-Endpunkte abzufragen. Das klingt gut, doch WebSockets bringen auch Probleme mit sich:

1. Instabile Verbindungen und hohe Last

WebSockets nutzen zustandsbehaftete, langlebige TCP-Verbindungen. Dadurch sind sie anfällig für Unterbrechungen durch kurze Netzwerkausfälle, Proxy-Timeouts oder überlastete Server. 

Die Slot-Zeiten von 400 ms und der stoßartige Traffic von Solana verstärken die Schwächen von WebSockets. Entwickler müssen daher eigene Logik für erneute Verbindungen implementieren, etwa exponentielle Backoffs und Heartbeat-Pings, um die Verfügbarkeit sicherzustellen.

2. Datenflut

WebSocket-Abonnements liefern häufig zu viele Daten.

Native Abonnements wie accountSubscribe liefern ungefilterte Streams und überfluten Entwickler mit irrelevanten Daten. Entwickler müssen daher clientseitig filtern. Das kann die Bandbreitennutzung erhöhen und die Verarbeitung verzögern.

3. Skalierbarkeit und Ressourcenaufwand

Tausende gleichzeitige Verbindungen belasten Serverressourcen. Das führt zu Speicherlecks, CPU-Engpässen, komplexeren Load-Balancern und der Notwendigkeit, Verbindungen zur Lastverteilung zu sharden.

WebSockets horizontal zu skalieren ist bekanntermaßen schwierig. Den meisten Teams fehlen Zeit, Ressourcen oder Fachwissen, um dies zu perfektionieren. 

4. Weniger Entwicklungszeit für Produktinnovationen

Zusammengenommen kosten diese Herausforderungen wertvolle Entwicklungszeit, die dann für neue, differenzierte Funktionen und Anwendungen fehlt. Diese Ineffizienz bremst den Fortschritt im schnelllebigen Solana-Ökosystem unbemerkt aus.

Aufgrund dieser anhaltenden Herausforderungen reichen standardmäßige Solana-WebSockets für produktionsreife Anwendungen nicht aus. Selbst kürzeste Unterbrechungen können verpasste Chancen oder veraltete Benutzeroberflächen bedeuten.

Enhanced WebSockets der nächsten Generation

Um diese Lücken zu schließen, haben wir Enhanced WebSockets eingeführt – eine mit Geyser erweiterte Version der standardmäßigen Solana-WebSockets für bessere Account- und Transaktionsabonnements. 

Sie bieten leistungsstarke Filter (z. B. für bis zu 50.000 Adressen über accountInclude, accountExclude und accountRequired) und kürzere Antwortzeiten als herkömmliche WebSockets. Seit der ursprünglichen Einführung haben wir unsere Datenstreaming-Infrastruktur jedoch weiter verbessert.

Enhanced WebSockets basieren jetzt auf derselben Infrastruktur wie LaserStream – unserem gRPC-Streaming-Service der nächsten Generation, der auf Geschwindigkeit, Zuverlässigkeit und Einfachheit ausgelegt ist.

Erlebe jetzt die Zuverlässigkeit von gRPC in einem WebSocket-Wrapper.

Zu den wichtigsten Verbesserungen gehören:

Erstklassige Ausfallsicherheit

Enhanced WebSockets streamen jetzt gleichzeitig von mehreren aggregierten Nodes und wechseln bei Ausfällen automatisch. Dadurch gibt es keine einzelnen Ausfallpunkte mehr, die Ausfallsicherheit steigt und maximale Verfügbarkeit ist gewährleistet.

Hohe Performance

LaserStream wurde speziell für Datenstreaming mit extrem niedriger Latenz entwickelt. Enhanced WebSockets profitieren jetzt ebenfalls von unseren neuesten Verbesserungen und liefern Benachrichtigungen so schnell wie möglich.

Für Frontends optimierte Streams

Die JSON-Payloads von Enhanced WebSockets basieren auf einer verbesserten Infrastruktur. So können Frontend-Entwickler detailreiche Streams direkt in Browser, React-Apps und mobile Clients integrieren.

Die richtige Streaming-Lösung wählen: ein Vergleich

Helius bietet verschiedene Datenstreaming-Services für bestimmte Anwendungsfälle, die wir im Folgenden zusammenfassen. 

Enhanced WebSockets

Entwickler sollten Enhanced WebSockets verwenden, wenn:

  1. Latenz, Kontinuität und Korrektheit weder PnL noch Ausführungen oder Risiken beeinflussen
  2. du JSON-Payloads benötigst
  3. dein Fokus auf Consumer-UX ohne Backend-Komplexität liegt
AnwendungsfallBeispiele
Echtzeit-UX im Frontend- Wallet-Guthaben
- Portfolio-Dashboards
- In-App-Benachrichtigungen
- Consumer-UX

LaserStream

Entwickler sollten LaserStream verwenden, wenn:

  1. jede Millisekunde zählt
  2. Latenz, Kontinuität und Korrektheit PnL, Ausführungen und/oder Risiken beeinflussen
  3. du erweiterte Filterfunktionen benötigst
  4. du eine lückenlose Übertragung mit automatischer Wiederholung benötigst
  5. du Transaktionen auf verschiedenen Commitment-Levels empfangen musst
AnwendungsfallBeispiele
Ereignisgesteuerte Backend-Verarbeitung- Handels- und Risikosysteme 
- Preis- und Orderflow-Monitore
- Liquidierungsmonitore
- Cross-Venue-Engines

Shred Delivery

Entwickler sollten Shred Delivery verwenden, wenn:

  1. du Rohsignale benötigst
  2. du bereits eine eigene Deshredding-Pipeline hast oder aufbauen kannst

Wenn du Latenz auf Shred-Ebene benötigst, aber keine Deshredding-Pipeline hast, liefern Preprocessed Transactions stattdessen die dekodierten Shreds über WebSocket.

AnwendungsfallBeispiele
Signalerfassung mit extrem niedriger Latenz- HFTs
- Cross-Venue-Arbitrage
- Token-Sniping

Zusammenfassung:

  • Verwende Enhanced Websockets für frontendfreundliche, nicht kritische Streams.
  • Verwende LaserStream für Backend-Entscheidungsschleifen, bei denen Latenzlücken oder Datenkontinuität direkte Auswirkungen auf Chancen haben.
  • Verwende Shred Delivery, wenn du eine eigene Deshredding-Pipeline für die frühesten Signale aus Roh-Shreds nutzt.

Enhanced WebSockets: Schnellstart

Der Einstieg in Enhanced WebSockets ist unkompliziert. 

Registriere dich und hole dir im Bereich „API Keys“ einen API-Key.

Stelle einfach eine Verbindung zu einem unserer Endpunkte her, abonniere über transactionSubscribe oder accountSubscribe und empfange sofort gefilterte, ausfallsichere Streams. 

Endpunkte

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

Beispiel: Neue Raydium-Launchpad-Pools überwachen

Das folgende Node.js-Skript zeigt anhand eines einfachen Beispiels, wie du Enhanced WebSockets in einer Produktionsumgebung nutzt. Es abonniert das Launchpad-Programm von Raydium und verwendet transactionSubscribe, um durch Log-Parsing nach erfolgreichen Pool-Initialisierungen zu filtern:

Code
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');
});

Führe den obigen Code so aus:

Code
export HELIUS_API_KEY=your-api-key-here
node raydium-launchpad-stream.js

Das Skript streamt eine Tabelle mit neu gestarteten Pools in die Konsole und gewährleistet selbst bei hoher Last eine lückenlose Übertragung.

Preise und Abrechnung

Im Rahmen unserer kontinuierlichen Investitionen in Latenz und Zuverlässigkeit werden Enhanced WebSockets in neuen Plänen ab dem 16. Oktober 2025 zum gleichen Tarif wie LaserStream abgerechnet (d. h. 3 Credits pro 0,1 MB gestreamter Daten).

Mit Professional-Plänen kannst du zusätzliches Datenvolumen kaufen. Es wird zu einem Festpreis angeboten und kann für das Datenstreaming über Enhanced WebSockets oder LaserStream genutzt werden.

Wenn du bereits einen bestehenden Plan hast, bleiben Preise, Limits und Abrechnung unverändert. Du musst nichts tun. 

Standard-WebSockets bleiben unverändert und sind sowohl in Free- als auch in kostenpflichtigen Plänen verfügbar.

Optimiere deine Streams noch heute

Zuverlässigkeit, Performance und Einfachheit – deine Streams können mit dir skalieren. Entwickle noch heute mit Enhanced WebSockets. Registriere dich, hole dir einen API-Key und profitiere von zuverlässigen Frontends.

Streame intelligenter. Entwickle schneller.

Helius abonnieren

Bleib bei der Solana-Entwicklung auf dem Laufenden und erhalte Updates, wenn wir neue Beiträge veröffentlichen