ERPC brengt Solana Stream SDK v4.0.0 uit met snellere verwerking van UDP-Shreds en sneller herstel van gRPC-verbindingen

ELSOUL LABO B.V. en Validators DAO hebben op 6 november 2026 Solana Stream SDK v4.0.0 officieel uitgebracht, een opensource-SDK voor het verwerken van streamingdata van Solana. Lokale benchmarks maten een ongeveer 108 keer snellere interne verwerking van UDP-Shreds in Rust en een ongeveer viervoudige doorvoer van de TypeScript-eventwachtrij. Ook Geyser gRPC hervat de ontvangst van updates sneller na een verbroken verbinding. De SDK is gratis te gebruiken, met voorbeelden in Rust en TypeScript om ontwikkelaars op weg te helpen.
Of een applicatie profiteert van datalevering met lage latentie, hangt ook af van hoe snel binnenkomende gegevens worden verwerkt. Versie 4.0.0 maakt de interne verwerking na aankomst van de gegevens efficiënter en verbetert het herstel na een verbroken verbinding. In combinatie met ERPC Shreds UDP Forwarding Premium kunnen ontwikkelaars zowel het leveringspad als de implementatie aan de ontvangende kant van hun Solana-applicaties verbeteren.
Verbeteringen in verwerking en verbindingsherstel gemeten in drie tests

In het UDP-ontvangstpad van Rust versnelt v4 het decoderen van datagrammen, het invoegen in een interne buffer en deshredding, waarmee gegevens uit Shreds worden gereconstrueerd. De verwerkingslast neemt af door het opschonen van de interne toestand en de kloklezingen, die voorheen voor elk pakket werden herhaald, te herzien. De bewaartermijnen van de gegevens blijven daarbij behouden. In de vergelijking daalde de interne verwerkingstijd per datagram van 94.236 ns naar 855–881 ns, een versnelling met ongeveer een factor 108.
De benchmark draaide op een Mac met een Apple M-seriechip en verwerkte per uitvoering 403.200 datagrammen over 300 slots. De resultaten vergelijken de medianen van vijf uitvoeringen. De meting omvat het interne pad decode→insert→deshred. De levertijd via het netwerk en de daaropvolgende verwerking in de applicatie van de gebruiker vallen buiten de meting. Door het werk voor de reconstructie van binnenkomende Shreds te verminderen, kunnen ontwikkelaars meer rekenkracht aan de applicatielogica besteden.
De TypeScript-voorbeelden en -startprojecten voor Geyser gRPC verminderen het wachten zolang er nog events in de wachtrij staan. Ontvangen gegevens kunnen daardoor efficiënter worden opgehaald. In een test van uitsluitend de wachtrij, waarbij twee miljoen events onder Node.js 24 werden verwerkt, steeg de doorvoer van 5,7–7,4 miljoen naar 24,8–29,4 miljoen events per seconde, een verbetering met ongeveer een factor 4.
Voor Geyser gRPC zijn de client die het opnieuw verbinden afhandelt en het interval vóór de eerste nieuwe verbindingspoging bijgewerkt. In een test waarin op een lokale tonic-server 20 verbindingsonderbrekingen werden veroorzaakt, daalde de mediane tijd tussen de updates die vóór en na elke onderbreking werden ontvangen van 552 ms met de 3.0-runner naar 103 ms met de 4.0-runner. Hiermee wordt de tijd tot het hervatten van de updates in de lokale testomgeving gemeten.
Deze drie resultaten komen uit verschillende tests met verschillende meetbereiken en omstandigheden. Ze tonen respectievelijk de verbeteringen in de interne Rust-verwerking, de TypeScript-eventwachtrij en het herstellen van gRPC-verbindingen. De implementatiedetails en testomstandigheden zijn beschikbaar in PR #129, vermeld bij de gerelateerde links.
Ondersteuning voor Alpenglow behouden en clients bijgewerkt
Ondersteuning voor Alpenglow is geïntroduceerd in v3.0.0. Versie 4.0.0 behoudt het onderscheid tussen blokmarkeringen voor header-, footer- en parent-updates en entries die transacties bevatten. Applicaties kunnen informatie over de blokstructuur los behandelen van de entries die ze moeten verwerken.
Versie 4.0.0 werkt de clients bij naar Agave 4.4.1 en Yellowstone gRPC 17.x. Bij het opnieuw verbinden kan een
Disconnected-event informatie melden waarmee gedeeltelijk ontvangen gegevens kunnen worden geïdentificeerd, samen met de hervattingspositie. Daarmee krijgen applicaties de informatie die nodig is om zelf de afhandeling van duplicaten bij opnieuw verzonden gegevens en van slechts gedeeltelijk ontvangen gegevens te implementeren.De migratie van v3 naar v4 behoudt de Geyser-protobuf-definities, maar werkt de events voor verbindingsherstel en de in Rust gebruikte Solana-bericht- en transactietypen bij. De gepubliceerde migratiehandleiding beschrijft de wijzigingen in eventhandlers en versies van afhankelijkheden.
Rust voor UDP, Rust en TypeScript voor gRPC
Het gepubliceerde Rust-pakket solana-stream-sdk en het TypeScript-pakket @validators-dao/solana-stream-sdk zijn beide beschikbaar als v4.0.0. De ondersteunde talen per verbindingstype staan hieronder.
| Verbindingstype | Ondersteunde talen |
|---|---|
| Shreds UDP | Rust |
| Geyser gRPC | Rust en TypeScript |
| Shreds gRPC | Rust en TypeScript |
Gebruik de Rust-client om Shreds via UDP te ontvangen. Het Rust-UDP-voorbeeld en -startproject gebruiken de gepubliceerde SDK v4.0.0 en maken het mogelijk om de ontvangst van gegevens, de reconstructie van gegevens uit Shreds en de detectie van instructies voor een te volgen programma uit te proberen. Pas het gevolgde programma en de verwerking na detectie aan om dit als uitgangspunt voor uw eigen applicatie te gebruiken.
Voor ontwikkeling in TypeScript kunt u Geyser gRPC of Shreds gRPC gebruiken. De verbeteringen van de eventwachtrij in deze release zijn opgenomen in de Geyser-gRPC-voorbeelden en -startprojecten. Kies de gepubliceerde implementatie die past bij uw taal en leveringsmethode.
Shreds UDP Forwarding Premium benutten
ERPC Shreds UDP Forwarding Premium verbindt meerdere nodes binnen elke regio in een mesh en stuurt van elke Shred de kopie door die als eerste door die mesh wordt ontvangen. Zowel het aankomsttijdstip via het leveringspad als de reconstructietijd in de SDK na aankomst beïnvloeden hoe snel de ontvangen gegevens bruikbaar worden. De verbeteringen in Rust-UDP-ontvangst kunnen aan de ontvangende kant worden toegepast op gegevens die Premium levert.
Bij de vergelijking in Frankfurt op 30 oktober 2026 werden Standard en Premium gedurende 120 seconden gelijktijdig op één machine met dezelfde klok vastgelegd. UDP-payloads met identieke inhoud werden aan de hand van de pcap-opname aan elkaar gekoppeld. Premium arriveerde als eerste bij 98% van deze overeenkomende set, met een mediaan aankomstverschil van 1,78 ms. Van de payloads die bij Standard werden waargenomen, werd 93,9% ook bij Premium waargenomen.

De Premium-grafiek toont verschillen in aankomsttijd tussen de leveringspaden, terwijl de SDK-grafiek de interne verwerking aan de ontvangende kant en het verbindingsherstel weergeeft. Door in een daadwerkelijke applicatie zowel de aankomst van pakketten als het tijdstip waarop een relevante instructie wordt gedetecteerd vast te leggen, kunt u nagaan hoeveel van de voorsprong bij levering behouden blijft in het verwerkingsresultaat.
Vergelijken in uw eigen omgeving met facturering per uur en voorbeelden
Shreds UDP Forwarding Premium is beschikbaar met facturering per uur voor € 1,39 per uur. Start de dienst vanuit het dashboard en controleer de ontvangst met het Rust-UDP-startproject. Door dezelfde regio, ontvangende server en applicatieworkload te gebruiken, kunt u verschillen in aankomsttijd afzonderlijk beoordelen van de verwerkingstijd na ontvangst.
Registreer eerst uw openbare IPv4-adres en UDP-poort in het dashboard en sta inkomend verkeer van de vermelde bronnen toe. Nadat u de pakketontvangst en gegevensreconstructie met het Rust-UDP-startproject hebt gecontroleerd, neemt u de te volgen programma’s en de daadwerkelijke verwerking van uw applicatie mee in de evaluatie. Combineer de voorbeelden met de leveringsdienst om de tijd van ontvangst tot detectie in uw eigen omgeving te meten.
Gerelateerde links
- Rust-UDP-voorbeeld en -startproject: https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/shreds-udp-rs
- Migratiehandleiding voor Solana Stream SDK v4: https://github.com/ValidatorsDAO/solana-stream/blob/main/docs/migration-v4.md
- SDK-prestatieverbeteringen en testresultaten: https://github.com/ValidatorsDAO/solana-stream/pull/129
- Documentatie voor Shreds UDP Forwarding: https://erpc.global/nl/doc/shredstream/udp-forwarding/
- Shreds UDP Forwarding Premium gebruiken: https://dashboard.erpc.global/nl/user/shreds?plan=udp
- ERPC-prijzen: https://erpc.global/nl/price/









