Direkte Shreds - UDP Forwarding (Roh Shreds)

Wenn Sie ERPC Dedicated Shreds haben, können Sie Rohschreds über UDP an Ihren eigenen Zuhörer weiterleiten. Dies ist Solanas schnellste Beobachtungsschicht – vor Geyser gRPC und weit vor RPC/WebSocket. Das SDK enthält eine einfache Rust Probe; new-token detection wird nur verwendet, weil es die häufigste Frage, die wir bekommen.

Warum dies der schnellste Weg ist

  • Shreds kommt zuerst an: Validator-to-validator Shreds land vor Geyser gRPC oder RPC/WebSocket, so latenzkritische Ströme sehen Ereignisse frühestens.
  • UDP hält über Kopf winzig: keine Verbindung Setup, Retransmit oder Bestellung; passt auf das On-Draht-Format zwischen Validatoren.
  • Trade-off: Pre-Finalization Daten können fehlen/out-of-order/failed — das als Teil des Geschwindigkeitsabschlußs handhaben.
Hinweis: Der geteilte Shreds gRPC Endpunkt läuft über TCP, so ist es langsamer als UDP Shreds.

Versuchen Sie es mit Solana Stream SDK

  • Mustercode (shreds-udp-rs, Rust): new-token detection ist nur ein gemeinsames Beispiel – in Ihrem eigenen Ziel. https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/shreds-udp-rs
  • Dedicated Shreds Nutzer: Zeigen Sie Ihren Shreds Absender an die Probe ip:port um Erkennungen zu sehen.
  • Noch nicht auf UDP? Führen Sie es lokal oder auf Ihrem eigenen Server aus, um Protokolle zu erkunden und Haken anzupassen.

UDP-Pakete kommen nicht an

Die UDP-Weiterleitung startet automatisch, sobald das Ziel konfiguriert ist. Eine Aktivierung per Heartbeat ist nicht erforderlich; eine Heartbeat-Antwort mit UNIMPLEMENTED bedeutet nicht, dass die Weiterleitung deaktiviert ist.
Zeichnen Sie zuerst den Datenverkehr an der Netzwerkschnittstelle des Hosts auf. Ersetzen Sie die Platzhalter durch die für Ihren Stream angezeigte ERPC-Quell-IP und den konfigurierten Zielport.
Linux (tcpdump):
bash
sudo tcpdump -ni any 'udp dst port <DESTINATION_PORT> and src host <ERPC_SOURCE_IP>'
Windows (Pktmon, als Administrator ausführen):
powershell
pktmon filter add ERPC-UDP -t UDP -i <ERPC_SOURCE_IP> -p <DESTINATION_PORT>
pktmon start --capture --comp nics --log-mode real-time
  1. Bleibt die Aufzeichnung bei null Paketen, prüfen Sie sowohl die Firewall des Betriebssystems als auch Firewalls außerhalb des Betriebssystems. Bei Hetzner kann der Datenverkehr durch Cloud Firewall oder durch die Robot Firewall am Switch-Port gefiltert werden. Prüfen Sie bei AWS die Security Group und die Network ACL des Subnetzes.
  2. Erlauben Sie eingehendes UDP von <ERPC_SOURCE_IP>/32 zum Zielport <DESTINATION_PORT>. Beschränken Sie den Quellport nicht, da ERPC dynamische UDP-Quellports verwendet.
  3. Sind die Pakete in der Aufzeichnung sichtbar, erreichen aber die Anwendung nicht, lassen Sie den Empfänger auf 0.0.0.0:<DESTINATION_PORT> statt auf localhost lauschen und prüfen Sie anschließend die lokale Firewall sowie die Socket-/Prozesseinstellungen.
Wenn nach der Aktualisierung der Regeln weiterhin keine Pakete eintreffen, senden Sie dem Support die Aufzeichnungsdauer, die Paketanzahl, die Quell-IP, die Ziel-IP und den Zielport.

Ressourcen