常见用例
- 网络拓扑分析: 获取集群中已知节点的快照,包括它们的公钥和网络地址(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 端点已知的所有节点列表。开发者提示
- 节点视角: 返回的列表反映了您查询的特定RPC节点所知道的节点。不同的RPC节点可能对集群有略微不同的视图,特别是在网络变化期间。
- RPC可用性: 并非所有列出的节点都一定开放了RPC端口或可公开访问。
rpc字段非空表示一个已公布的RPC端点,但这不保证可访问性或性能。 - 动态列表: 集群拓扑是动态的。节点可以加入和退出,因此列表可能会随时间变化。
- 大型响应: 在像Mainnet Beta这样的大型网络上,响应可能相当庞大,列出许多节点。
getClusterNodes RPC方法的必要信息,以发现和理解Solana集群中的节点。