🛠️ Создание приёмника

Raw Shred Stream доставляет сырые шреды Solana по UDP прямо на ваш сервер — в ваш собственный приёмник. В этом суть продукта: вы работаете максимально близко к проводу и полностью контролируете, как данные принимаются, собираются и декодируются. Одно правило: дешреддер/декодер должен быть оптимизированным, иначе преимущество по задержке теряется на вашей стороне. Эта страница объясняет, что должен делать ваш приёмник и когда лучше подойдёт Decoded Shred Stream.

Вкратце — сырым шредам нужен быстрый, оптимизированный дешреддер/декодер, чтобы сохранить преимущество по задержке. Если вы предпочитаете вообще не запускать декодер, Decoded Shred Stream доставляет транзакции уже собранными. Нужно решение, работающее уже сегодня? Прежний клиент shredstream берёт дешрединг на стороне клиента на себя, но по задержке уже не является рекомендуемым решением — см. Быстрый старт (сырые шреды).


🧩 Что нужно построить самому

Приняв сырые шреды, весь конвейер вы реализуете сами:

ЭтапЧто делаете вы
UDP-сокет + буферы ОСОткрываете и биндите сокет, тюните rmem_max/maxsockbuf, отслеживаете drops
ДешредингПарсите бинарный формат shred Solana в типизированные структуры
Реассемблинг / FECПереупорядочиваете шреды по индексу, восстанавливаете (FEC/Merkle) и собираете slot'ы
Декодирование транзакцийДекодируете транзакции Solana из собранных полезных нагрузок
Корректный shutdownДрейните сокеты и флашите буферы

Это работа максимально близко к проводу: вы полностью контролируете конвейер, но и вся инфраструктура дешрединга, реассемблинга и декодирования — на вас.


⚡ Полностью без декодера: Decoded Shred Stream

Если вы предпочитаете не запускать конвейер, ShredStream.com предлагает Decoded Shred Stream: транзакции уже прошли дешрединг и сборку на наших узлах и доставляются в стандартном wire-формате — по UDP или gRPC:

  • Decoded Shred Stream — полностью собранные транзакции Solana в стандартном wire-формате, приём клиентом decoded-shredstream (npm / PyPI / crates.io) или Go-модулем github.com/shredstream/decoded-shredstream-go — для JavaScript, Python, Rust и Go.

Задержка субмиллисекундная, практически идентичная потоку сырых шредов — без работы по дешредингу и реассемблингу на вашей стороне.


🎯 Что выбрать

Стройте собственный приёмник сырых шредов, если вы:

  • Хотите работать максимально близко к проводу и полностью контролировать конвейер.
  • Уже поддерживаете приёмник shred Solana с собственным дешредингом и декодированием.
  • Хотите сохранить минималистичный и самодостаточный стек.

Выберите Decoded Shred Stream, если вы:

  • Не хотите вообще запускать и поддерживать дешреддер/декодер.
  • Хотите транзакции уже собранными в стандартном wire-формате — прямо в ваш существующий парсер.

➡️ Следующие шаги

Создание приёмника — Docs | ShredStream.com