跳转到主要内容
RPC 方法返回当前参与 Solana 集群的所有已知节点的列表。此信息可用于网络分析、发现备用 RPC 端点或从查询节点的角度了解当前网络拓扑。

常见用例

  • 网络拓扑分析: 获取集群中已知节点的快照,包括它们的公钥和网络地址(gossip、TPU、RPC)。
  • 发现 RPC 端点: 识别集群中其他潜在的 RPC 服务器(尽管可用性和速率限制可能会有所不同)。
  • 监控节点版本: 观察集群中不同节点运行的软件版本。

请求参数

此方法不需要任何参数。

响应结构

JSON-RPC 响应的字段将是一个对象数组。每个对象代表一个节点,并包含以下字段:
  • (string):节点的公钥(身份),base58 编码。
  • (string | null):节点 gossip 服务的 IP 地址和端口。如果不可用,可以是。
  • (string | null):节点事务处理单元 (TPU) 的 IP 地址和端口。用于直接提交交易。如果不可用,可以是。
  • (string | null):节点 JSON-RPC 服务的 IP 地址和端口。如果此节点没有启用或广告 RPC 服务,可以是。
  • (string | null):节点的软件版本。如果版本信息不可用,可以是。
  • (u32 | null):节点功能集的唯一标识符。如果不可用,可以是。
  • (u16 | null):此节点用于存储和传输块(碎片)的数据结构版本。如果不可用,可以是。

示例

1. 获取所有已知的集群节点

此示例获取查询的 RPC 端点已知的所有节点列表。
curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
  '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getClusterNodes"
  }'

开发者提示

  • 节点视角: 返回的列表反映了您查询的特定RPC节点所知道的节点。不同的RPC节点可能对集群有略微不同的视图,特别是在网络变化期间。
  • RPC可用性: 并非所有列出的节点都一定开放了RPC端口或可公开访问。rpc字段非空表示一个已公布的RPC端点,但这不保证可访问性或性能。
  • 动态列表: 集群拓扑是动态的。节点可以加入和退出,因此列表可能会随时间变化。
  • 大型响应: 在像Mainnet Beta这样的大型网络上,响应可能相当庞大,列出许多节点。
本指南提供了使用getClusterNodes RPC方法的必要信息,以发现和理解Solana集群中的节点。