Как проверять готовность узла Solana по ответу JSON-RPC

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

Разберите тело ответа

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

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getHealth",
  "params": []
}

Признак готовности — строка "ok" в поле result. В журнале разделяйте HTTP-ошибки, объект ошибки JSON-RPC и тайм-аут запроса. Успешный обмен по HTTP с объектом ошибки означает, что процесс RPC ответил, хотя проверка готовности завершилась неудачно.

Разберите устойчивый сбой

Сравните финализированный слот узла за несколько проверок с независимым узлом того же кластера при том же commitment. Отметьте, растёт или сокращается разрыв. Доступ к архивным блокам и доставку WebSocket-событий проверяйте отдельными запросами.

Документация