Direct Shreds - UDP Forwarding Standard (Raw Shreds)
Para UDP Forwarding Standard, selecciona una región disponible durante la configuración inicial y configura como destino una dirección IPv4 pública válida y no vacía con su puerto. La región seleccionada queda fija después de la configuración, pero el destino puede actualizarse más tarde. La configuración del reenvío se aplica en un ciclo de actualización de aproximadamente 30 segundos y no requiere activar un heartbeat.
Por qué este es el camino más rápido
- Shreds llega primero: validator-to-validador Shreds land before Geyser gRPC or RPC/WebSocket, así que los flujos críticos de latencia ver los acontecimientos más temprano.
- UDP mantiene la cabeza pequeña: no hay configuración de conexión, retransmitir o ordenar; coincide con el formato on-wire entre validadores.
- Trade-off: pre-finalization data can be missing/out-of-order/failed—mantenerlo como parte de la ganga de velocidad.
Nota: el endpoint compartido de Shreds gRPC corre sobre TCP, por lo que es más lento que UDP Shreds.
Pruébalo con Solana Stream SDK
- Código de muestra (
shreds-udp-rs, Rust): la bomba.fun es sólo un ejemplo común - cambio en su propio objetivo. https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/shreds-udp-rs - Usuarios de UDP Forwarding Standard: configura tu receptor con el destino
ip:portguardado en tu suscripción para ver las detecciones. - ¿Aún no con UDP? Ejecutarlo localmente o en su propio servidor para explorar registros y personalizar ganchos.
Los paquetes UDP no llegan
El reenvío UDP comienza automáticamente después de configurar el destino. No es necesario activarlo mediante heartbeat; una respuesta heartbeat
UNIMPLEMENTED no significa que el reenvío esté deshabilitado.Primero, captura el tráfico en la interfaz de red del host. Sustituye los marcadores por la IP de origen de ERPC que se muestra para tu stream y por el puerto de destino configurado.
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, ejecutar como administrador):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 captura continúa en cero, revisa tanto el firewall del sistema operativo como los firewalls externos al sistema operativo. Hetzner puede filtrar el tráfico mediante Cloud Firewall o Robot Firewall en el puerto del switch. En AWS, revisa el Security Group y la Network ACL de la subred.
- Permite UDP entrante desde
<ERPC_SOURCE_IP>/32hacia el puerto de destino<DESTINATION_PORT>. No restrinjas el puerto de origen, ya que ERPC utiliza puertos de origen UDP dinámicos. - Si los paquetes aparecen en la captura pero no en la aplicación, configura el receptor para escuchar en
0.0.0.0:<DESTINATION_PORT>en lugar de localhost y revisa después el firewall local y la configuración del socket/proceso.
Si siguen sin llegar paquetes tras actualizar las reglas, envía a Support la duración de la captura, el número de paquetes, la IP de origen, la IP de destino y el puerto de destino.
Documentación oficial de los proveedores: Hetzner Cloud Firewall, Hetzner Robot Firewall, AWS Security Groups, AWS Network ACLs y Microsoft Pktmon.
Recursos
- Todos los docs de código y README están en Solana Stream SDK repo: https://github.com/ValidatorsDAO/solana-stream






