Direct Shreds - UDP Forwarding (Raw Shreds)
Als u ERPC Dedicated Shreds heeft, kunt u ruwe Shreds via UDP doorsturen naar uw eigen listener. Dit is Solana's snelste observatielaag — voor Geyser gRPC en ver voor RPC/WebSocket. De SDK bevat een eenvoudig Rust-voorbeeld; new-token detection wordt alleen gebruikt omdat het de meest gestelde vraag is die we krijgen.
Waarom dit het snelste pad is
- Shreds komen als eerste aan: validator-naar-validator Shreds landen voor Geyser gRPC of RPC/WebSocket, dus latentie-kritische flows zien events het eerst.
- UDP houdt overhead minimaal: geen verbindingsopbouw, hertransmissie of ordening; komt overeen met het on-wire formaat tussen validators.
- Afweging: pre-finalisatiegegevens kunnen ontbreken/ongeordend/gefaald zijn — behandel dat als onderdeel van de snelheidsafweging.
Opmerking: het gedeelde Shreds gRPC-endpoint draait over TCP, dus het is trager dan UDP Shreds.
Probeer het met Solana Stream SDK
- Voorbeeldcode (
shreds-udp-rs, Rust): new-token detection is slechts een veelvoorkomend voorbeeld — wissel het in voor uw eigen doel. https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/shreds-udp-rs - Dedicated Shreds-gebruikers: richt uw Shreds-zender op het
ip:portvan het voorbeeld om detecties te zien. - Nog niet op UDP? Voer het lokaal uit of op uw eigen server om logs te verkennen en hooks aan te passen.
UDP-pakketten komen niet aan
UDP-forwarding start automatisch zodra de bestemming is ingesteld. Activering via een heartbeat is niet nodig; een heartbeat-antwoord met
UNIMPLEMENTED betekent niet dat forwarding is uitgeschakeld.Leg eerst het verkeer vast op de netwerkinterface van de host. Vervang de placeholders door het ERPC-bron-IP dat bij uw stream wordt getoond en de ingestelde bestemmingspoort.
Linux (
tcpdump):bash
sudo tcpdump -ni any 'udp dst port <DESTINATION_PORT> and src host <ERPC_SOURCE_IP>'sudo tcpdump -ni any 'udp dst port <DESTINATION_PORT> and src host <ERPC_SOURCE_IP>'Windows (
Pktmon, uitvoeren als Administrator):powershell
pktmon filter add ERPC-UDP -t UDP -i <ERPC_SOURCE_IP> -p <DESTINATION_PORT>
pktmon start --capture --comp nics --log-mode real-timepktmon filter add ERPC-UDP -t UDP -i <ERPC_SOURCE_IP> -p <DESTINATION_PORT>
pktmon start --capture --comp nics --log-mode real-time- Blijft de capture op nul, controleer dan zowel de firewall van het besturingssysteem als firewalls buiten het besturingssysteem. Bij Hetzner kan verkeer worden gefilterd door Cloud Firewall of door de Robot Firewall op de switchpoort. Controleer bij AWS de Security Group en de Network ACL van het subnet.
- Sta inkomend UDP toe vanaf
<ERPC_SOURCE_IP>/32naar bestemmingspoort<DESTINATION_PORT>. Beperk de bronpoort niet, omdat ERPC dynamische UDP-bronpoorten gebruikt. - Zijn de pakketten zichtbaar in de capture maar niet in uw applicatie, laat de ontvanger dan luisteren op
0.0.0.0:<DESTINATION_PORT>in plaats van localhost en controleer vervolgens de lokale firewall en de socket-/procesinstellingen.
Komen er na het bijwerken van de regels nog steeds geen pakketten aan, stuur Support dan de duur van de capture, het aantal pakketten, het bron-IP, het bestemmings-IP en de bestemmingspoort.
Officiële documentatie van providers: Hetzner Cloud Firewall, Hetzner Robot Firewall, AWS Security Groups, AWS Network ACLs en Microsoft Pktmon.
Bronnen
- Alle code en README-documentatie bevinden zich in de Solana Stream SDK-repository: https://github.com/ValidatorsDAO/solana-stream






