getClusterNodes возвращает список всех известных узлов, которые в настоящее время участвуют в кластере Solana. Эта информация может быть полезна для анализа сети, поиска альтернативных конечных точек RPC или изучения текущей топологии сети с точки зрения опрашиваемого узла.
Распространенные сценарии использования
- Анализ топологии сети: Получите снимок известных узлов кластера, включая их открытые ключи и сетевые адреса (gossip, TPU, RPC).
- Поиск конечных точек RPC: Найдите другие потенциальные серверы RPC в кластере, хотя их доступность и ограничения частоты запросов могут различаться.
- Мониторинг версий узлов: Отслеживайте версии программного обеспечения, используемые различными узлами кластера.
Параметры запроса
Этот метод не принимает параметры.Структура ответа
Полеresult ответа JSON-RPC содержит массив объектов. Каждый объект представляет узел и содержит следующие поля:
pubkey(string): Открытый ключ (идентификатор) узла в кодировке base58.gossip(string | null): IP-адрес и порт gossip-службы узла. Может иметь значениеnull, если данные недоступны.tpu(string | null): IP-адрес и порт модуля обработки транзакций (TPU) узла. Используется для прямой отправки транзакций. Может иметь значениеnull.rpc(string | null): IP-адрес и порт службы JSON-RPC узла. Может иметь значениеnull, если служба RPC не включена или этот узел ее не объявляет.version(string | null): Версия программного обеспечения узла. Может иметь значениеnull, если информация о версии недоступна.featureSet(u32 | null): Уникальный идентификатор набора функций узла. Может иметь значениеnull.shredVersion(u16 | null): Версия структуры данных, которую этот узел использует для хранения и передачи блоков (шредов). Может иметь значениеnull.
Примеры
1. Получение всех известных узлов кластера
В этом примере запрашивается список всех узлов, известных опрашиваемой конечной точке RPC.Рекомендации для разработчиков
- Точка зрения узла: Возвращаемый список отражает узлы, известные конкретному опрашиваемому узлу RPC. Представления разных узлов RPC о кластере могут немного различаться, особенно во время изменений в сети.
- Доступность RPC: Порты RPC не всех перечисленных узлов обязательно открыты или общедоступны. Ненулевое значение поля
rpcуказывает на объявленную конечную точку RPC, но не гарантирует ее доступность или производительность. - Динамический список: Топология кластера динамична. Узлы могут подключаться и отключаться, поэтому список со временем меняется.
- Большой ответ: В крупной сети, такой как Mainnet Beta, ответ может быть довольно объемным и содержать множество узлов.
getClusterNodes при поиске и изучении узлов в кластере Solana.