Skip to main content
Метод RPC 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, ответ может быть довольно объемным и содержать множество узлов.
В этом руководстве приведена информация, необходимая для использования метода RPC getClusterNodes при поиске и изучении узлов в кластере Solana.