ERPC выпустил рекомендации и примеры кода для стабильной работы с Solana Geyser gRPC

ERPC выпустил рекомендации и примеры кода для стабильной работы с Solana Geyser gRPC

ERPC выпустил рекомендации и примеры кода для стабильной работы с Solana Geyser gRPC
ERPC, которым совместно управляют ELSOUL LABO B.V. (штаб-квартира — Амстердам, Нидерланды; генеральный директор — Фумитаке Кавасаки) и Validators DAO, выпустил новую документацию по стабильной и удобной эксплуатации эндпоинтов Solana Geyser gRPC, производительность которых продолжает улучшаться во всех регионах.
Опубликованы две страницы: рекомендации по надёжной эксплуатации Geyser gRPC в промышленной среде и практические рабочие примеры кода на Rust.

Практические проблемы при внедрении Geyser gRPC

Geyser gRPC — это мощный интерфейс для получения событий блокчейна Solana, таких как транзакции, аккаунты и слоты, с низкой задержкой. Однако в экосистеме веб-разработки потоковая передача на основе WebSocket уже давно является доминирующей моделью, а опыт двунаправленных потоков gRPC не получил широкого распространения.
По мере улучшения Geyser gRPC во всех регионах всё важнее становятся детали клиентской реализации: поддержание соединения с помощью ping/pong, восстановление пропусков при переподключении и управление трафиком правильными фильтрами. Ошибки в этих механизмах могут привести к отключению примерно через 30 секунд или к пропускам данных после переподключения.

Подход ERPC

ERPC уже обеспечивает низкую задержку и стабильную доставку данных в инфраструктуре Geyser gRPC во всех регионах. Новая документация — следующий шаг, который помогает разработчикам правильно и надёжно использовать платформу в промышленной эксплуатации.
Вместо того чтобы сосредоточиваться исключительно на спецификациях API, ERPC стремится систематизировать практические знания, полученные в результате реальной эксплуатации, включая типичные ошибки и реалистичные архитектурные решения, для поддержки разработчиков от начальных этапов PoC до промышленного развёртывания.

Об опубликованной документации

В документе Best Practices обобщаются ключевые принципы проектирования и эксплуатационные требования, необходимые для стабильного использования Geyser gRPC. Темы включают поэтапное построение подписки, стратегии фильтрации для уменьшения ненужного трафика, обработку from_slot во время повторных подключений и управление соединениями, включая обработку ping/pong.
В примерах кода представлены конкретные реализации Rust, отражающие эти принципы: от простых примеров подписки до более устойчивых, рассчитанных на промышленную эксплуатацию клиентских архитектур. Примеры предназначены для прямого подключения к конечным точкам Geyser gRPC ERPC и могут использоваться как есть.

Целевая аудитория

Эти документы предназначены для разработчиков, впервые использующих Geyser gRPC, групп, рассматривающих возможность перехода с архитектур на основе WebSocket, и разработчиков, которые уже используют gRPC, но сталкиваются с нестабильностью или неожиданным поведением во время повторного подключения или длительной работы.
Заранее разъясняя типичные ошибки реализации, документация помогает упростить путь от PoC к стабильным производственным системам.

Связь с Solana Stream SDK

Шаблоны реализации, представленные в этой документации, поддерживаются Solana Stream SDK, предоставленным Validators DAO. SDK можно использовать непосредственно в качестве клиентской реализации, ориентированной на среду Geyser gRPC ERPC.

Доступность в нескольких регионах и тарифные планы

ERPC предоставляет точки доступа Geyser gRPC в нескольких регионах, включая Франкфурт, Амстердам, Нью-Йорк, Чикаго, Токио и Сингапур. Такое мультирегиональное развёртывание предназначено для уменьшения региональных ограничений, вызванных временем суток или условиями сети.
Geyser gRPC доступен как в виде планов для одного региона, так и в виде плана gRPC Bundle, который обеспечивает доступ к нескольким регионам в рамках одного контракта. Недавно опубликованная документация одинаково применима ко всем этим планам.
Цены на Geyser gRPC
Цены на пакеты gRPC Bundle

Дальнейшие планы

ERPC продолжит улучшать производительность своей потоковой инфраструктуры, включая Geyser gRPC, а также использовать эксплуатационные знания в документации и примерах кода.
Целью является создание не только быстрой платформы, но и такой, которую можно будет правильно и надёжно использовать в реальных приложениях.

Вопросы и поддержка

Для получения консультаций по выбору региона, выбору плана или переходу с существующих архитектур индивидуальная поддержка доступна через официальный Discord-сервер Validators DAO.