Shreds Direta - Encaminhamento UDP (Raw Shreds)
Se você tiver ERPC Dedicated Shreds, você pode encaminhar Shreds cru sobre UDP para seu próprio ouvinte. Esta é a camada de observação mais rápida da Solana — antes do GRPC da Geyser e muito à frente do RPC/WebSocket. O SDK inclui uma simples amostra Rust; new-token detection é usado apenas porque é a pergunta mais comum que temos.
Por que este é o caminho mais rápido
- Shreds chegam primeiro: validador-para-validador Shreds terra antes Geyser gRPC ou RPC/WebSocket, então os fluxos de latência-críticos vêem os eventos mais cedo.
- O UDP mantém a sobrecarga minúscula: nenhuma configuração de conexão, retransmissão ou encomenda; corresponde ao formato on-wire entre validadores.
- Trade-off: dados pré-finalização podem estar faltando/out-of-order/failed— lidar com isso como parte do negócio da velocidade.
Nota: o endpoint compartilhado do Shreds gRPC passa por TCP, então é mais lento do que o UDP Shreds.
Tente com o Solana Stream SDK
- Código da amostra (
shreds-udp-rs, Rust): new-token detection é apenas um exemplo comum — bata no seu próprio alvo.
https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/shreds-udp-rs - Usuários de Shreds dedicados: aponte seu remetente de Shreds para a amostra
ip:portpara ver detecções. - Ainda não está no UDP? Execute-o localmente ou em seu próprio servidor para explorar registros e personalizar ganchos.
Os pacotes UDP não chegam
O encaminhamento UDP começa automaticamente após a configuração do destino. Não é necessário ativá-lo por heartbeat; uma resposta heartbeat
UNIMPLEMENTED não significa que o encaminhamento esteja desativado.Primeiro, capture o tráfego na interface de rede do host. Substitua os marcadores pelo IP de origem ERPC exibido para o seu stream e pela porta de destino configurada.
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, execute 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- Se a captura continuar em zero, verifique tanto o firewall do sistema operacional quanto os firewalls externos ao sistema operacional. A Hetzner pode filtrar o tráfego no Cloud Firewall ou no Robot Firewall da porta do switch. Na AWS, verifique o Security Group e a Network ACL da subnet.
- Permita UDP de entrada de
<ERPC_SOURCE_IP>/32para a porta de destino<DESTINATION_PORT>. Não restrinja a porta de origem, pois a ERPC usa portas de origem UDP dinâmicas. - Se os pacotes aparecerem na captura, mas não na aplicação, configure o receptor para escutar em
0.0.0.0:<DESTINATION_PORT>em vez de localhost e verifique o firewall local e as configurações de socket/processo.
Se nenhum pacote chegar após a atualização das regras, envie ao Support a duração da captura, a quantidade de pacotes, o IP de origem, o IP de destino e a porta de destino.
Documentação oficial dos provedores: Hetzner Cloud Firewall, Hetzner Robot Firewall, AWS Security Groups, AWS Network ACLs e Microsoft Pktmon.
Recursos
- Todos os códigos e documentos README estão no repositório SDK do Solana Stream:
https://github.com/ValidatorsDAO/solana-stream






