Direct Shreds - UDP Forwarding (Raw Shreds)

UDP Forwarding entrega Raw Shreds por UDP a una única dirección IPv4 pública y un puerto que configuras. UDP Forwarding Standard y UDP Forwarding Premium se diferencian en la forma en que te llegan los Shreds desde la región que elijas: en Standard, ERPC los reenvía desde un nodo de esa región, y en Premium los entrega la red mesh.

UDP Forwarding Standard

UDP Forwarding Standard reenvía Raw Shreds por UDP a la dirección IPv4 pública y al puerto configurados para tu suscripción. Selecciona una región disponible durante la configuración inicial y guarda como destino una dirección IPv4 pública válida y no vacía con su puerto. Puedes actualizar el destino más adelante. ERPC aplica la configuración del reenvío en su ciclo de actualización de 30 segundos y no se requiere activación mediante heartbeat. También puedes cambiar la región más adelante en el dashboard, tantas veces como necesites. Al cambiar la región, cambia la IP de origen, por lo que el firewall del lado receptor debe permitir la nueva IP de origen. La entrega se interrumpe brevemente mientras la suscripción pasa a la nueva región. Si la nueva región no tiene capacidad en este momento, el cambio no se realiza y ni la región ni el destino se modifican.
  • Desde un nodo de la región que elijas, ERPC reenvía Raw Shreds por UDP al destino configurado, de modo que te llegan desde una única IP de origen.

UDP Forwarding Premium

UDP Forwarding Premium entrega Raw Shreds por UDP desde la red mesh a la dirección IPv4 pública y al puerto configurados para tu suscripción. La red mesh reenvía, de cada Shred, la copia que le llega primero; cada IP de origen que se muestra en el dashboard puede ser el emisor. Con Premium, los Shreds a menudo llegan 1–3 ms antes que con Standard. El 30 de octubre de 2026, un receptor de ERPC en Fráncfort recibió Standard y Premium en paralelo durante una única medición de 120 segundos. Para cada Shred recibido a través de ambos, se comparó el momento de su primera llegada por Standard y por Premium.
Introduce la dirección IPv4 pública y el puerto de tu propio host receptor, y selecciona una de las 7 regiones disponibles. Después de guardar un destino, el estado muestra Aplicando y la entrega comienza en cuanto se aplica la configuración.
Permite en el firewall del lado receptor cada IP de origen que se muestra en el dashboard, con una regla /32 por IP.
Un cambio de región modifica el conjunto de IPs de origen que tu firewall debe permitir. La entrega queda interrumpida hasta que se aplique la nueva región; después, las nuevas IPs de origen aparecen en el dashboard. Si la región seleccionada no puede aceptar el cambio en este momento, este no se guarda, y la región y el destino guardados se mantienen como estaban. Mientras se sigue aplicando un cambio anterior, o justo después de que se haya aceptado uno, no se aceptan más cambios.
Las IPs de origen también pueden variar sin que cambies de región. Cuando eso requiere nuevas reglas en el firewall, te avisamos por correo electrónico o a través del equipo de soporte.

Qué debes saber sobre UDP

  • UDP no ofrece establecimiento de conexión, retransmisión ni orden garantizado; tu receptor debería gestionar los paquetes teniendo esto en cuenta.
Nota: el endpoint compartido de Shreds gRPC funciona sobre TCP, por lo que es más lento que los Shreds por UDP.

Pruébalo con Solana Stream SDK

  • Código de ejemplo (shreds-udp-rs, Rust): la detección de nuevos tokens es solo un ejemplo habitual; sustitúyela por lo que quieras detectar.
    https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/shreds-udp-rs
  • Configura tu receptor con el destino ip:port guardado para UDP Forwarding.
  • ¿Todavía no usas UDP? Ejecuta el código de ejemplo en local o en tu propio servidor para explorar los logs y personalizar los hooks.

Los paquetes UDP no llegan

Primero, captura el tráfico en la interfaz de red del host.

UDP Forwarding Standard

El reenvío UDP comienza automáticamente después de configurar el destino. No es necesario activarlo mediante heartbeat; una respuesta de heartbeat UNIMPLEMENTED no significa que el reenvío esté deshabilitado.
Sustituye los marcadores de posición 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>'
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-time

UDP Forwarding Premium

Sustituye los marcadores de posición de las IPs de origen por las IPs de origen que se muestran en el dashboard, y <DESTINATION_PORT> por el puerto de destino configurado.
Linux (tcpdump):
bash
sudo tcpdump -ni any 'udp dst port <DESTINATION_PORT> and (src host <SOURCE_IP_1> or src host <SOURCE_IP_2>)'
Mantén los paréntesis: sin ellos, el filtro udp dst port solo se aplica a la primera IP de origen, y la captura recoge todo el tráfico de cada IP de origen posterior a la primera, con cualquier protocolo y puerto. Usa un término src host para cada IP de origen; si solo tienes una IP de origen, elimina el término or y los paréntesis.
Windows (Pktmon, ejecutar como administrador):
powershell
pktmon filter add ERPC-UDP-1 -t UDP -i <SOURCE_IP_1> -p <DESTINATION_PORT>
pktmon filter add ERPC-UDP-2 -t UDP -i <SOURCE_IP_2> -p <DESTINATION_PORT>
pktmon start --capture --comp nics --log-mode real-time
Añade una línea pktmon filter add por cada IP de origen y numera los nombres de los filtros como se muestra; un solo filtro que enumere varias IPs captura, en cambio, el tráfico entre esas IPs. Si solo tienes una IP de origen, conserva únicamente la primera línea de filtro.

Comprobaciones del firewall y del receptor

  1. Si la captura sigue 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.
  2. Añade la regla de permiso correspondiente a tu plan:
    • UDP Forwarding Standard: Permite UDP entrante desde <ERPC_SOURCE_IP>/32 hacia el puerto de destino <DESTINATION_PORT>. No restrinjas el puerto de origen, ya que ERPC utiliza puertos de origen UDP dinámicos.
    • UDP Forwarding Premium: Permite UDP entrante desde cada <SOURCE_IP_n>/32 hacia el puerto de destino <DESTINATION_PORT>, con una regla por cada IP de origen que se muestra en el dashboard. No restrinjas el puerto de origen.
  3. 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 al equipo de soporte la duración de la captura, el número de paquetes, la IP de origen, la IP de destino y el puerto de destino.

Recursos