Перейти к основному содержанию

Параметры

Этот метод не принимает никаких параметров.

Ответ

result
array
Массив объектов, содержащих информацию об узлах:

Примеры кода

Базовый запрос

curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getClusterNodes"
}'

Использование web3.js

import { Connection } from '@solana/web3.js';

const connection = new Connection('https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');

const nodes = await connection.getClusterNodes();
console.log('Cluster nodes:', nodes);

// Example: Find all nodes running a specific version
const version = '1.16.0';
const nodesWithVersion = nodes.filter(node => node.version === version);
console.log(`Nodes running version ${version}:`, nodesWithVersion);

// Example: Get all RPC endpoints
const rpcEndpoints = nodes
  .filter(node => node.rpc)
  .map(node => node.rpc);
console.log('Available RPC endpoints:', rpcEndpoints);

Примечания

  1. Некоторые поля могут быть null, если информация недоступна
  2. Информация об узлах получается через gossip-сеть
  3. Список включает все известные узлы, независимо от того, активны они в данный момент или нет
  4. Сетевые адреса представлены в стандартном формате сокета (IP:порт)

Лучшие практики

  1. Кэшируйте результаты для снижения нагрузки на RPC (обновляйте каждые несколько минут)
  2. Используйте информацию о версии для обнаружения обновлений сети
  3. Фильтруйте значения null при обработке сетевых адресов
  4. Учитывайте версии узлов при выборе RPC-эндпоинтов
  5. Используйте адреса TPU для оптимизации пересылки транзакций

Распространённые ошибки

КодСообщениеРешение
-32601Method not foundУбедитесь, что вы подключены к узлу Solana RPC
-32007Node information unavailableУзел может выполнять начальную загрузку или gossip-сервис может быть недоступен
-32008Node list too largeПовторите попытку позже при улучшении условий сети

Примеры использования

  1. Балансировка нагрузки
    • Обнаружение доступных RPC-эндпоинтов
    • Распределение клиентских соединений
  2. Мониторинг работоспособности сети
    • Отслеживание версий узлов
    • Мониторинг распределения сети
    • Выявление сетевых разделений
  3. Оптимизация транзакций
    • Поиск ближайших TPU-адресов
    • Реализация пересылки транзакций с учётом лидера
  4. Управление версиями
    • Отслеживание обновлений сети
    • Обеспечение совместимости клиентов
    • Планирование окон технического обслуживания