Установка
Сборка клиента
.build() асинхронный — перед возвратом устанавливается WebSocket-соединение. При ошибке подключения вы получите ошибку сразу.
Методы билдера
.url(url) — основной WebSocket-эндпоинт. Резерв: переменная ORBITFLARE_WS_URL.
.urls(&[...]) — основной и резервные за один вызов.
.fallback_url(url) / .fallback_urls(&[...]) — добавить резерв для failover. При переподключении SDK перебирает их по очереди.
.api_key(key) — лицензионный ключ. Резерв: ORBITFLARE_LICENSE_KEY.
.retry(policy) — backoff при переподключении. По умолчанию: 100 мс начальная, 30 с максимум, 2×, бесконечные попытки.
.ping_interval_secs(n) — как часто SDK отправляет фреймы WebSocket Ping. По умолчанию: 10.
.max_missed_pongs(n) — сколько ping без ответа перед обрывом соединения. По умолчанию: 3.
Доступные подписки
slot_subscribe()
Срабатывает при обработке, подтверждении или финализации слота.
slot, parent и root:
account_subscribe(address, commitment)
Срабатывает при изменении данных указанного аккаунта.
logs_subscribe(mentions, commitment)
Для транзакций, в которых фигурируют указанные адреса. Пустой срез — все транзакции.
signature_subscribe(signature, commitment)
Срабатывает один раз, когда транзакция достигает заданного уровня commitment. Удобно для подтверждения только что отправленной транзакции.
Чтение событий
Все подписки возвращаютWsSubscription. Вызовите .next() для следующего события:
.next() возвращает Option<serde_json::Value>. None — подписка закрыта.
Отписка
Несколько подписк
Все подписки идут по одному WebSocket. SDK маршрутизирует уведомления на нужную подписку внутри себя.Переподключение
Если соединение обрывается, фоновая задача переподключается с экспоненциальным backoff и автоматически заново подписывается. Ваши вызовы.next() продолжают работать — события возобновятся после восстановления связи.