Direct Shreds - UDP 포워딩 (Raw Shreds)

ERPC Dedicated Shreds를 사용 중이라면, raw Shreds를 UDP를 통해 직접 운영하는 리스너로 포워딩할 수 있습니다. 이는 Solana의 가장 빠른 관측 계층으로, Geyser gRPC보다도 앞서며 RPC/WebSocket보다는 훨씬 앞섭니다. SDK에는 간단한 Rust 샘플이 포함되어 있으며, new-token detection을 사용하는 이유는 단지 우리가 가장 자주 받는 질문이기 때문입니다.

왜 이것이 가장 빠른 경로인가

  • Shreds가 가장 먼저 도착합니다: validator 간 Shreds는 Geyser gRPC나 RPC/WebSocket보다 먼저 도달하므로, 지연에 민감한 흐름에서 이벤트를 가장 일찍 확인할 수 있습니다.
  • UDP는 오버헤드를 최소화합니다: 연결 설정, 재전송, 순서 보장이 없으며, validator 간의 on-wire 포맷과 일치합니다.
  • 트레이드오프: finalization 이전 데이터는 누락되거나/순서가 어긋나거나/실패할 수 있으므로, 이를 속도를 얻는 대가의 일부로 처리해야 합니다.
참고: 공유 Shreds gRPC endpoint는 TCP로 동작하므로 UDP Shreds보다 느립니다.

Solana Stream SDK로 시도해보기

  • 샘플 코드 (shreds-udp-rs, Rust): new-token detection은 흔한 예시일 뿐이니, 직접 원하는 대상으로 교체하세요.
    https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/shreds-udp-rs
  • Dedicated Shreds 사용자: Shreds sender를 샘플의 ip:port로 지정하면 감지 결과를 확인할 수 있습니다.
  • 아직 UDP를 사용하지 않나요? 로컬이나 자체 서버에서 실행하여 로그를 살펴보고 hook을 커스터마이즈해보세요.

리소스