Как проверять готовность узла Solana по ответу JSON-RPC
Процесс может принимать соединения, пока локальная цепочка отстаёт. Метод проверки здоровья учитывает настроенный на узле допустимый разрыв в слотах с вершиной кластера.
Разберите тело ответа
Отправьте тело методом POST проверяемому узлу. При балансировке опрашивайте как публичный адрес, так и отдельные реплики, иначе одна исправная реплика может скрыть отставание соседней.
{
"jsonrpc": "2.0",
"id": 1,
"method": "getHealth",
"params": []
}
Признак готовности — строка "ok" в поле result. В журнале разделяйте HTTP-ошибки, объект ошибки JSON-RPC и тайм-аут запроса. Успешный обмен по HTTP с объектом ошибки означает, что процесс RPC ответил, хотя проверка готовности завершилась неудачно.
Разберите устойчивый сбой
Сравните финализированный слот узла за несколько проверок с независимым узлом того же кластера при том же commitment. Отметьте, растёт или сокращается разрыв. Доступ к архивным блокам и доставку WebSocket-событий проверяйте отдельными запросами.