如何获取NEAR协议质押池中各验证人的委托者数量
如何查询NEAR协议中每个验证人对应的委托者数量
方法一:通过RPC接口直接查询
- 调用NEAR主网公开RPC的
validators方法,传入最终确认的区块高度,即可获取当前所有活跃验证人的基础信息,包含每个验证人对应的质押池账户ID - 针对单个验证人,调用RPC的
call_function请求,查询对应质押池合约的get_number_of_delegators方法即可直接拿到委托者数量,请求示例如下:
{ "jsonrpc": "2.0", "id": "query_id", "method": "query", "params": { "request_type": "call_function", "finality": "final", "account_id": "替换为目标验证人的质押池账户ID", "method_name": "get_number_of_delegators", "args_base64": "e30=" } }
- 返回结果中
result.result字段为base64编码的数值,解码后就是当前该验证人的有效委托者总数 - 小提示:所有官方标准质押池的账户ID均遵循
{自定义标识}.poolv1.near的命名规则,你可以批量获取全量质押池ID后并发请求,提升查询效率
方法二:本地统计链上数据
- 如果你搭建了NEAR归档节点,可以遍历历史区块中所有与质押相关的
delegate、undelegate、stake交易,按质押池账户分组统计去重后的交易发起方地址,即可得到对应验证人在任意时间点的委托者数量 - 该方式灵活性更高,可支持自定义维度的统计需求,不需要依赖第三方接口的可用状态
内容的提问来源于stack exchange,提问作者Vlad Frolov
相关产品推荐
相关产品推荐

