Direct Shreds - UDP Forwarding (Raw Shreds)

Если у вас есть ERPC Dedicated Shreds, вы можете пересылать raw Shreds по UDP в собственный listener. Это самый быстрый observation layer в Solana - раньше Geyser gRPC и значительно раньше RPC/WebSocket. В SDK есть простой Rust sample; pump.fun используется только потому, что это самый частый вопрос, который нам задают.

Почему это самый быстрый путь

  • Shreds приходят первыми: validator-to-validator Shreds доставляются раньше Geyser gRPC или RPC/WebSocket, поэтому latency-critical flows видят events раньше всего.
  • UDP сохраняет минимальный overhead: нет установки connection, retransmit или ordering; формат соответствует тому, как данные передаются между validators "по проводу".
  • Компромисс: до финализации данные могут отсутствовать, приходить не по порядку или относиться к failed operations - это часть платы за скорость.
Примечание: shared Shreds gRPC endpoint работает поверх TCP, поэтому он медленнее, чем UDP Shreds.

Попробуйте с Solana Stream SDK

  • Sample code (shreds-udp-rs, Rust): pump.fun здесь только как типовой пример - подставьте свою цель. https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/shreds-udp-rs
  • Пользователи Dedicated Shreds: направьте Shreds sender на ip:port из sample, чтобы увидеть detections.
  • Еще не используете UDP? Запустите sample локально или на своем сервере, чтобы посмотреть logs и адаптировать hooks под себя.

Пример log для pump.fun

pump.fun hits over UDP Shreds
Этот пример взят из sample SDK; клонируйте и запустите его, чтобы увидеть detections, или подставьте свою собственную цель.

Ресурсы