Solana Stream SDK vollständig für das Solana-v3-Upgrade aktualisiert

Solana Stream SDK vollständig für das Solana-v3-Upgrade aktualisiert

Solana Stream SDK vollständig für das Solana-v3-Upgrade aktualisiert
ELSOUL LABO B.V. (Hauptsitz: Amsterdam, Niederlande; CEO: Fumitake Kawasaki) und Validators DAO haben neue Versionen des quelloffenen Solana Stream SDK veröffentlicht, die vollständig für das Solana-v3-Upgrade aktualisiert wurden. Sowohl die Rust- als auch die TypeScript-Ausgabe wurden aktualisiert, um zuverlässigen und leistungsfähigen Zugriff auf Solanas Echtzeitdatenströme einschließlich Shreds und Geyser gRPC in der kommenden Alpenglow-Ära zu gewährleisten.
Die Rust-Crate solana-stream-sdk unterstützt Solana v3 nun in Version 0.6.1, während das TypeScript-/Node.js-Paket @validators-dao/solana-stream-sdk auf Version 0.12.0 aktualisiert wurde. Zusammen bilden sie eine einheitliche Grundlage für die leistungsfähige Stream-Verarbeitung, während Solana zu seiner Architektur der nächsten Generation übergeht.

Hintergrund – Warum Solana v3 und Alpenglow clientseitige Aktualisierungen erfordern

Solana v3 markiert den großen Übergang zur neuen Alpenglow-Konsensarchitektur. Alpenglow ersetzt die bisherige Kombination aus TowerBFT und Proof of History durch einen neu gestalteten Konsensweg, der die Reaktionsfähigkeit des Netzwerks deutlich verbessern soll. Unter Alpenglow soll sich die Finalität von heute ungefähr 12 Sekunden auf etwa 100–150 Millisekunden verkürzen.
Dieser Wandel verändert grundlegend das Tempo der Blockproduktion und die Ausbreitungseigenschaften von Echtzeitdaten im gesamten Netzwerk.
Gleichzeitig steigen für Validatoren und RPC-Betreiber unter v3 die betrieblichen Anforderungen, da Build-Zyklen und Konfigurationsaktualisierungen häufiger werden. Validators DAO modernisiert die serverseitige Umgebung mit Werkzeugen wie SLV, doch dieser Übergang unterstreicht auch einen kritischen Punkt:
Auch die Client-Software muss auf v3 aktualisiert werden, sonst lassen sich die Leistungsgewinne des Netzwerks nicht vollständig nutzen.
Dies gilt besonders für Echtzeit-Streams wie Shreds und Geyser gRPC. Clients, die den neuen Spezifikationen oder Laufzeiteigenschaften nicht folgen, sammeln tendenziell Latenz an oder verlieren mit der Zeit ihre Konsistenz. Während RPC-Knoten und Validatoren auf v3 umsteigen, muss die Client-Software nun parallel migrieren.
Ziel dieses Updates des Solana Stream SDK ist es, diese Lücke zu schließen und eine sofort einsatzbereite Grundlage für Echtzeitanwendungen in der Alpenglow-Ära zu schaffen.

Was ist neu im Solana Stream SDK v0.6.1 (Rust) und v0.12.0 (TypeScript)

Das Solana Stream SDK wurde von Anfang an für Shreds und Geyser gRPC entwickelt. In dieser Version wurde es mit mehreren Verbesserungen aktualisiert, um stabile Leistung unter Solana v3 und die Vorbereitung auf die Alpenglow-basierte Laufzeit zu gewährleisten.

Rust Crate v0.6.1

Die Rust-Ausgabe dient als leistungsfähige Referenzimplementierung für Trader, Indexer und alle Echtzeit-Workloads, die maximalen Durchsatz erfordern. Zu den wichtigsten Aktualisierungen gehören:
  • Unterstützung der Protokolländerungen der Solana-v3-Serie
  • Effiziente Verarbeitung von Shreds und Geyser gRPC-Streams über die asynchrone Laufzeit von Rust
  • Ein verbesserter Wrapper um Shred-bezogene Protobuf-Definitionen, wodurch sich die Stream-Verarbeitungslogik leichter implementieren lässt
  • Multithread-Ausführungspfade, optimiert, um auch bei anhaltend hohem Durchsatz den Latenzaufbau zu minimieren
Die Rust-Ausgabe wird Nutzern empfohlen, die Shreds und Geyser gRPC auf höchstem Leistungsniveau vollständig nutzen möchten.

TypeScript / Node.js v0.12.0

Die TypeScript-Ausgabe bewahrt die komfortable Node.js-Entwicklung und integriert zugleich die Rust-basierte Stream-Verarbeitung im Hintergrund. In v0.12.0 wurden folgende Verbesserungen vorgenommen:
  • Vollständige Beibehaltung der bestehenden ereignisgesteuerten Schnittstelle (z. B. emitter.on), um inkompatible Änderungen zu vermeiden
  • Integration von Rust und NAPI-RS für die interne Stream-Verarbeitung, sodass Node.js Shreds zuverlässig verarbeiten kann, wo @grpc/grpc-js bisher an seine Grenzen stieß
  • Aktualisierte Verarbeitung von Geyser-gRPC- und Shred-Streams für Kompatibilität mit Solana v3
Für die meisten Nutzer genügt für das Upgrade auf v0.12.0 eine Versionsanhebung in package.json; Codeänderungen sind nicht erforderlich.

Warum Node.js allein mit Shreds nicht Schritt halten kann

ShredStream ist die Datenquelle mit der niedrigsten Latenz und höchsten Frequenz im Solana-Ökosystem. Shreds ermöglichen zwar einen unvergleichlich zeitnahen Einblick in die Netzwerkaktivität, verlangen vom Client aber auch einen sehr hohen Verarbeitungsdurchsatz.
Node.js-Clients auf Basis von @grpc/grpc-js stoßen auf strukturelle Engpässe:
  • Die Ereignisschleife ist single-threaded, sodass Protobuf-Deserialisierung und Benutzer-Callbacks einander blockieren
  • Wenn Nachrichten schnell eintreffen, wird der JavaScript-Thread gesättigt und Verarbeitungswarteschlangen bauen sich auf
  • Die HTTP/2-Flusssteuerung verkleinert bei vollen Puffern das Empfangsfenster, pausiert schließlich den Stream und erweckt den Eindruck einer „Netzwerkverlangsamung“ oder eines „fehlenden Datenempfangs“.
In vielen beobachteten Fällen liegt das Problem weder am Netzwerk noch am ShredStream-Server, sondern daran, dass der Node.js-Client intern zurückbleibt.
Diese Einschränkung ist Node.js beim Umgang mit ungefilterten Shreds in großem Maßstab inhärent.
Rust + NAPI-RS überwindet diese Einschränkung.

Wie Rust + NAPI-RS die Stream-Verarbeitung in Node.js beschleunigt

Die TypeScript-Ausgabe des Solana Stream SDK lagert aufwendige Aufgaben an Rust aus und bewahrt dabei die vertrauten JavaScript-APIs.
  • gRPC-Verbindungsverwaltung, Stream-Aufnahme und Protobuf-Deserialisierung werden asynchron in Rust ausgeführt
  • Node.js erhält die verarbeiteten Daten als Standard-Stream oder Event-Emitter, sodass bestehender Code weiter funktioniert
  • NAPI-RS minimiert den Overhead zwischen Rust und Node.js und ermöglicht echten Multithread-Durchsatz hinter einer JavaScript-Schnittstelle
Dadurch können Anwendungen mit dem Solana Stream SDK deutlich mehr Shred- und Geyser-gRPC-Durchsatz bewältigen als reine Node.js-Ansätze mit @grpc/grpc-js, während auch unter hoher Last stabile Latenzeigenschaften erhalten bleiben.

Warum die Unterstützung von Shreds und Geyser gRPC in einem SDK wichtig ist

Solanas Echtzeitdaten lassen sich als zwei sich ergänzende Schichten betrachten:
  • Shreds:
    Extrem latenzarme Fragmente, die direkt vom Leader ausgegeben werden und den frühestmöglichen Einblick in die Aktivität der Chain bieten
  • Geyser gRPC:
    Strukturierte Streams von Slots, Transaktionen und Kontoaktualisierungen, die ein klares und vorhersehbares Datenmodell bereitstellen
Das Solana Stream SDK ermöglicht Entwicklern, mit Geyser gRPC zunächst die Datenstrukturen zu verstehen und dann für Szenarien mit extrem niedriger Latenz zu Shreds zu wechseln – ohne Tools zu wechseln oder ihre Pipeline neu zu schreiben.
Da Alpenglow die Blockproduktion und die Bestätigung beschleunigt, wird dieser zweistufige Ansatz noch wertvoller.

Erste Schritte: Ressourcen und Testumgebungen

Das Solana Stream SDK ist vollständig quelloffen; Beispielcode für Shreds und Geyser gRPC ist auf GitHub verfügbar.
Für Praxistests bietet ERPC eine eintägige kostenlose Testphase für leistungsfähige ShredStream- und Geyser-gRPC-Endpunkte an, damit Entwickler das v3-Verhalten unter produktionsnahen Bedingungen prüfen können.
Offizielle ERPC-Website: https://erpc.global/de/

Der Validators-DAO-Community beitreten

Fragen, Feedback und Diskussionen zu Solana v3, Alpenglow, Echtzeit-Stream-Design oder SDK-Verbesserungen sind in der Validators-DAO-Community willkommen.
Offizieller Validators DAO Discord: https://discord.gg/C7ZQSr CkYR
Während Solana in die Alpenglow-Ära übergeht, wird sein Netzwerk ein beispielloses Maß an Echtzeit-Performance erreichen. Validators DAO und ELSOUL LABO werden weiterhin hochwertige quelloffene Tools bereitstellen, damit Entwickler die nächste Generation von Echtzeitanwendungen auf Solana entwickeln können.
Vielen Dank für Ihre anhaltende Unterstützung.