Solana Geyser gRPC - Быстрый старт

Установите SLV

bash
curl -fsSL https://storage.slv.dev/slv/install | sh

$ slv b init

slv b init
Одной командой slv b init вы можете мгновенно scaffold'ить среду разработки для Solana bots на базе высокопроизводительных stream-oriented данных.
bash
slv b init
  • Используйте geyser-ts, если предпочитаете TypeScript Geyser bot
  • Используйте geyser-rust, если предпочитаете Rust Geyser bot

Разрешите источники ICMP-проверок задержки

Для выбора региона gRPC ERPC отправляет ICMP-запросы для измерения задержки на зарегистрированный вами IP-адрес с перечисленных ниже прокси-хостов. Разрешите входящие эхо-запросы ICMP со всех указанных исходных IP-адресов. Если их блокирует межсетевой экран (ufw, облачный межсетевой экран, группа безопасности и т. д.), результат измерения может составить 9999ms, и может быть выбран неоптимальный регион. Несколько IP-адресов в одном регионе относятся к разным хостам проверки; необходимо разрешить их все.
Регион проверкиИсходные IP-адреса ICMP
🇳🇱 Amsterdam84.32.103.245, 84.32.64.77
🇺🇸 New York64.130.37.222
🇩🇪 Frankfurt185.191.118.149, 185.191.118.177, 185.191.118.206
🇬🇧 London67.209.52.250
🇯🇵 Tokyo198.13.133.88
🇸🇬 Singapore202.8.11.52
🇦🇺 Sydney82.26.116.36
🛰️ Far Point63.254.162.14

Эндпоинты Burst gRPC

Geyser gRPC Burst — это низколатентный общий gRPC-уровень ERPC для чувствительных к задержке Solana stream workloads. Burst использует тот же интерфейс Yellowstone/Geyser gRPC, что и обычный gRPC-сервис, поэтому существующие gRPC-клиенты могут продолжать использовать стандартные подписки account, transaction, slot и block.
Burst использует перечисленные выше региональные источники ICMP-проверок для выбора региона по задержке. Указанные ниже адреса — это IP-адреса клиентских конечных точек Burst, а не источники ICMP-проверок; разрешайте их только в том случае, если ваш межсетевой экран для исходящего трафика ограничивает подключения к выбранной конечной точке.
RegionBurst DomainIP Address
🇩🇪 Frankfurtgrpc-fra1-burst.erpc.global64.130.41.234
🇳🇱 Amsterdamgrpc-ams1-burst.erpc.global64.130.55.180
🇺🇸 New Yorkgrpc-ny6-burst.erpc.global64.130.59.217
🇯🇵 Tokyogrpc-tokyo-burst.erpc.global208.91.107.247
🇸🇬 Singaporegrpc-singapore-burst.erpc.global67.209.55.15
После регистрации IP используйте endpoint, показанный в ERPC Web Dashboard. Burst остается полноценным Geyser gRPC stream; Direct Shreds/ShredStream — отдельный UDP-продукт для сырых shred data.

Пример Geyser Client - TypeScript

  1. Переименуйте .env.sample в .env
  2. Отредактируйте .env, указав ваши реальные значения:
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
Обратите внимание:
Этот endpoint приведен только как пример и не может использоваться как есть. Получите и настройте endpoint, соответствующий вашей среде.
  1. Установите зависимости и запустите dev server:
bash
pnpm i
pnpm dev
Geyser TypeScript VSCode

Пример Geyser Client - Rust

  1. Переименуйте .env.sample в .env
  2. Отредактируйте .env, указав ваши реальные значения:
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
Обратите внимание:
Этот endpoint приведен только как пример и не может использоваться как есть. Получите и настройте endpoint, соответствующий вашей среде.
  1. Соберите и запустите client:
bash
RUST_LOG=info cargo run
Geyser Rust VSCode

✅ Доступен бесплатный пробный доступ на 1 день

И Geyser, и Shreds bots можно бесплатно протестировать в течение 1 дня через веб-панель ERPC.
Откройте панель: https://dashboard.erpc.global/ru

Solana Stream SDK

Solana Stream SDK
Geyser adapter, используемый в starter code, который загружается командой slv b init, предоставляется открытым проектом Solana Stream SDK.
Он поддерживает и Rust, и TypeScript, позволяя эффективно реализовывать Solana stream communication, включая Geyser subscriptions, обработку transactions и мониторинг account updates в реальном времени.
Starter code, который вы получаете, - это прямой пример работы этого SDK, который легко расширить под собственную bot-разработку или custom logic.
Подробнее см. в репозитории GitHub: https://github.com/ValidatorsDAO/solana-stream