Перейти к основному содержанию

Обзор

OrbitFlare поддерживает постоянные WebSocket-соединения для получения данных Solana в реальном времени. WebSocket-подписки отправляют обновления вашему клиенту по мере их появления в блокчейне — без необходимости опроса. WebSocket-эндпоинты используют схему wss:// с теми же кодами регионов, что и HTTP API:
Эндпоинт основной сети с автоматической маршрутизацией:
Ваш лицензионный ключ находится в разделе Лицензии вашего OrbitFlare Dashboard. Передайте его как параметр запроса api_key — тот же ключ, что используется для HTTP RPC.

Подключение

WebSocket-соединения, простаивающие более 60 секунд без обмена сообщениями, закрываются сервером. Отправляйте ping или поддерживайте активные подписки для сохранения соединения.

Методы подписки

accountSubscribe

Получайте обновления при изменении баланса lamport или данных конкретного аккаунта.
Поля обновления:

logsSubscribe

Получайте сообщения журнала транзакций в реальном времени. Опционально фильтруйте по конкретной программе.
Поля обновления:

slotSubscribe

Получайте уведомление каждый раз при обработке слота.
Поля обновления:

signatureSubscribe

Получайте одноразовое уведомление, когда конкретная подпись транзакции достигает заданного уровня подтверждения.
Подписка автоматически закрывается после отправки первого уведомления.

programSubscribe

Получайте обновления для всех аккаунтов, принадлежащих конкретной программе.

blockSubscribe

Получайте полные данные блока при его подтверждении. Требует дополнения — обратитесь в поддержку для активации.

rootSubscribe

Получайте наивысший подтверждённый корневой слот каждый раз при его продвижении.

voteSubscribe

Получайте необработанные транзакции голосования по мере их появления в сети gossip. Высокий объём — фильтруйте тщательно.

Отписка

Каждый метод подписки имеет соответствующий метод Unsubscribe. Передайте ID подписки, возвращённый в ответе на первоначальную подписку.
Доступные методы отписки: accountUnsubscribe, logsUnsubscribe, slotUnsubscribe, signatureUnsubscribe, programUnsubscribe, blockUnsubscribe, rootUnsubscribe, voteUnsubscribe.

Поддержание соединения

WebSocket-соединения закрываются после 60 секунд бездействия. Периодически отправляйте JSON-RPC ping для поддержания соединения:

Переподключение

Реализуйте автоматическое переподключение с экспоненциальной задержкой для production-приложений:

Лимиты соединений

WebSocket-соединения разделяют тот же лимит на IP, что и gRPC-соединения. Подробности см. в разделе Аутентификация и лимиты.

Смотрите также

HTTP RPC API

Формат запросов JSON-RPC 2.0, пакетные запросы и все доступные методы.

Коды ошибок

HTTP-статусы, ошибки JSON-RPC и способы их обработки.