getSlotLeader RPC 方法返回当前负责区块生产的验证者的公钥,基于节点在指定承诺级别的视图。领导者负责为当前槽位生成区块。

常见用例

  • 识别当前区块生产者: 找出当前计划生成区块的验证者。
  • 网络监控: 观察槽位领导者的轮换。
  • 调试交易问题: 在某些高级场景中,如果交易直接提交给领导者,了解当前槽位领导者可能相关(尽管这不是常见的客户端实践)。

请求参数

此方法将一个可选的配置对象作为其第一个参数:
  1. options (object, 可选):一个可选的配置对象,具有以下字段:
    • commitment (string, 可选):指定查询的承诺级别。支持的值为 finalized, confirmed, 或 processed。如果省略,则使用 RPC 节点的默认承诺(通常为 finalized)。槽位领导者基于与此承诺级别匹配的槽位确定。
    • minContextSlot (number, 可选):请求可以评估的最小槽位。这设置了节点上下文的最小槽位。

响应结构

JSON-RPC 响应的 result 字段是一个单一的 base-58 编码字符串,表示当前槽位领导者的公钥(身份)。 示例响应:
{
  "jsonrpc": "2.0",
  "result": "ENvAW7JScgYq6o4zKZwewtkzzJgDzuJAFxYasvmEQdpS",
  "id": 1
}

示例

1. 获取当前槽位领导者(默认承诺)

此示例使用节点的默认承诺级别(通常为finalized)获取当前插槽领导者。
# 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": "getSlotLeader"
  }'

2. 使用confirmed承诺获取当前插槽领导者

此示例获取已达到confirmed承诺的最新插槽的领导者。
# 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": "getSlotLeader",
    "params": [
      {
        "commitment": "confirmed"
      }
    ]
  }'

开发者提示

  • 动态特性: 插槽领导者频繁更换(通常每几个插槽更换一次,通常为4个)。此调用的结果是基于节点当前视图和所选承诺的时间快照。
  • 承诺级别: 承诺级别影响哪个插槽被视为“当前”以确定领导者。使用processed将为您提供节点已知的最新插槽的领导者,该插槽可能会迅速变化,并且可能尚未被更广泛的网络确认。
  • 领导者计划: 插槽领导者的顺序由领导者计划决定,该计划在每个纪元开始时计算。我们的插槽、区块和纪元指南提供了有关此过程的更多详细信息。要全面了解即将到来的领导者,请使用getLeaderSchedule
  • 节点视角: 返回的插槽领导者基于您查询的特定RPC节点可用的信息。由于网络延迟,不同节点可能会有略微不同的视图。
getSlotLeader提供了一种快速识别当前负责生成区块的验证者的方法。要更广泛地了解领导者轮换,请考虑使用getLeaderSchedule