getLargestAccounts RPC 方法返回 Solana 网络上按 lamport 余额排名的前 20 个账户的列表。此方法可用于网络分析、了解财富分布或识别 SOL 的重要持有者。 请注意,此方法的结果可能会被 RPC 节点缓存长达两个小时。

常见用例

  • 网络健康监测: 观察 SOL 在最大账户中的集中情况。
  • 经济分析: 研究 Solana 网络上的财富分布。
  • 识别大户: 找到持有大量 SOL 的账户。

请求参数

此方法可以选择性地接受一个包含以下参数的配置对象:
  • commitment (字符串,可选):指定查询分类账时使用的承诺级别。如果未提供,则使用节点的默认承诺级别。
  • filter (字符串,可选):按账户类型过滤结果。接受的值有:
    • circulating: 返回属于流通供应的最大账户。
    • nonCirculating: 返回不属于流通供应的最大账户(例如,锁定账户、基金会账户)。 如果省略,则所有账户都被考虑在内,不使用此特定过滤器。

响应结构

JSON-RPC 响应的 result 字段将是一个 RpcResponse 对象。此对象中的 value 字段是一个包含最多 20 个账户对象的数组,每个对象包含:
  • address (字符串):账户的 base-58 编码公钥。
  • lamports (u64):账户的 lamports 余额。
响应还包括一个context对象,其中包含信息检索的slot

示例

1. 获取前20个最大账户(无过滤器)

此示例获取按 lamport 余额排序的前20个最大账户,不使用任何供应过滤器。
# Replace <api-key> with your Helius API key
curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
  '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getLargestAccounts"
  }'

2. 获取前20个最大流通账户

此示例获取被视为流通供应部分的前20个最大账户。
# Replace <api-key> with your Helius API key
curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
  '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getLargestAccounts",
    "params": [{ "filter": "circulating" }]
  }'

开发者提示

  • 缓存数据: 结果可以由 RPC 节点缓存长达两个小时。这意味着数据可能不是最新区块的实时数据。
  • 仅限前20名: 此方法仅返回前20个账户。对于更全面的财富分布分析,可能需要其他数据来源或方法。
  • 过滤器行为: circulatingnonCirculating过滤器依赖于 RPC 节点对这些分类的定义和数据来源。
本指南提供了使用getLargestAccounts RPC 方法查询 Solana 网络上最大 SOL 持有者的必要信息。