Shreds directs - Transmission UDP (Raw Shreds)
Si vous avez ERPC Shreds dédié, vous pouvez transmettre les Shreds bruts sur UDP à votre propre auditeur. C'est la couche d'observation la plus rapide de Solana, avant Geyser gRPC et bien avant RPC/WebSocket. Le SDK comprend un simple échantillon Rust; new-token detection est utilisé uniquement parce qu'il est la question la plus courante que nous obtenons.
Pourquoi c'est le chemin le plus rapide
- Les shreds arrivent en premier: validateur à validateur Terres shreds avant Geyser gRPC ou RPC/WebSocket, donc les flux critiques de latence voient les événements les plus tôt.
- UDP garde minuscule: aucune configuration de connexion, retransmis ou commande; correspond au format sur fil entre les validateurs.
- Échange: les données de préfinalisation peuvent être manquantes/out-of-order/failed— gérer cela dans le cadre du marché de la vitesse.
Note: l'endpoint partagé Shreds gRPC tourne sur TCP, donc il est plus lent que UDP Shreds.
Essayez avec Solana Stream SDK
- Code de l'échantillon (
shreds-udp-rs, Rust): new-token detection n'est qu'un exemple commun: le transfert dans votre propre cible. https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/shreds-udp-rs - Utilisateurs dédiés Shreds: pointez votre expéditeur Shreds vers l'échantillon
ip:portpour voir les détections. - Pas encore sur UDP? Exécutez-le localement ou sur votre propre serveur pour explorer les journaux et personnaliser les crochets.
Les paquets UDP n'arrivent pas
La transmission UDP démarre automatiquement après la configuration de la destination. Aucune activation par heartbeat n'est nécessaire ; une réponse heartbeat
UNIMPLEMENTED ne signifie pas que la transmission est désactivée.Commencez par capturer le trafic sur l'interface réseau de l'hôte. Remplacez les espaces réservés par l'IP source ERPC affichée pour votre flux et par le port de destination configuré.
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, à exécuter en tant qu'administrateur) :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- Si la capture reste à zéro, vérifiez à la fois le pare-feu du système d'exploitation et les pare-feux situés hors du système. Chez Hetzner, le trafic peut être filtré par Cloud Firewall ou par Robot Firewall au niveau du port du commutateur. Sur AWS, vérifiez le Security Group et la Network ACL du sous-réseau.
- Autorisez le trafic UDP entrant depuis
<ERPC_SOURCE_IP>/32vers le port de destination<DESTINATION_PORT>. Ne limitez pas le port source, car ERPC utilise des ports source UDP dynamiques. - Si les paquets apparaissent dans la capture mais pas dans l'application, faites écouter le récepteur sur
0.0.0.0:<DESTINATION_PORT>plutôt que sur localhost, puis vérifiez le pare-feu local et les paramètres du socket/processus.
Si aucun paquet n'arrive après la mise à jour des règles, transmettez au Support la durée de la capture, le nombre de paquets, l'IP source, l'IP de destination et le port de destination.
Documentation officielle des fournisseurs : Hetzner Cloud Firewall, Hetzner Robot Firewall, AWS Security Groups, AWS Network ACLs et Microsoft Pktmon.
Ressources
- Tous les documents de code et de README sont dans la repo Solana Stream SDK: https://github.com/ValidatorsDAO/solana-stream






