Leader Slot 信息 API 文档

什么是 Leader Slot 信息(getLeaderSlots)API?

getLeaderSlots 是一个扩展 Solana RPC 方法,用于返回即将到来的 leader slot 记录,包括 validator identity、stake weight、网络端点元数据、leader 估算位置,以及参考延迟测量。持有 ERPC 使用额度(API token)的用户,可以用与标准 Solana RPC 相同的格式调用。
此 API 提供:
  • 从指定 slot 开始的 leader validator 调度
  • 每个 leader validator 的 stakeWeight
  • 估算的 leader region、city、country、坐标、ASN organization 与 timezone
  • ERPC 观测 region 到 leader 的参考 ping 测量(pingToLeaders

端点和请求体示例

text
https://edge.erpc.global?api-key=<YOUR_API_KEY>
params 中指定起始 slot 编号。
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLeaderSlots",
  "params": [416462031]
}

示例(HTTP)

bash
curl 'https://edge.erpc.global?api-key=<YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"getLeaderSlots",
    "params":[416462031]
  }'

响应示例(JSON)

当前响应会将记录放在 result.data[] 中。result.total 表示返回的记录数量。
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "success": true,
    "message": "Leader schedule records retrieved successfully",
    "total": 100,
    "data": [
      {
        "identity": "BSVckjdW2f8kcXPGcrPPtV9kUDBZ8w8PjrrGVnxgEdwq",
        "epoch": 964,
        "slot": "416462031",
        "stakeWeight": 2502391.138720913,
        "ipAddress": "5.199.172.175",
        "gossipPort": 12000,
        "tpuPort": 12003,
        "tpuQuicPort": 12009,
        "rpcAddress": null,
        "version": "3.1.13",
        "featureSet": "534737035",
        "leaderRegion": "stockholm",
        "leaderCity": "Šiauliai",
        "leaderCountry": "LT",
        "leaderLat": 55.93333,
        "leaderLon": 23.31667,
        "leaderOrg": "AS16125 UAB Cherry Servers",
        "leaderTimezone": "Europe/Vilnius",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 27.742,
            "fromIp": "185.191.118.11",
            "country": "DE",
            "lat": 50.139,
            "lon": 8.6725,
            "org": "AS213896 UAB Cherry Servers",
            "postal": "60320",
            "timezone": "Europe/Berlin"
          }
        ]
      },
      {
        "identity": "2oHUYyW2PU9VJh4XBs5TbGgzdernunvGqyKth3kxW4ns",
        "epoch": 964,
        "slot": "416462032",
        "stakeWeight": 280745.689124988,
        "ipAddress": "64.130.43.229",
        "gossipPort": 8001,
        "tpuPort": 5004,
        "tpuQuicPort": 5010,
        "rpcAddress": null,
        "version": "3.1.13",
        "featureSet": "534737035",
        "leaderRegion": "amsterdam",
        "leaderCity": "Amsterdam",
        "leaderCountry": "NL",
        "leaderLat": 52.37403,
        "leaderLon": 4.88969,
        "leaderOrg": "AS20326 TeraSwitch Networks Inc.",
        "leaderTimezone": "Europe/Amsterdam",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 16.835,
            "fromIp": "185.191.118.11",
            "country": "DE",
            "lat": 50.139,
            "lon": 8.6725,
            "org": "AS213896 UAB Cherry Servers",
            "postal": "60320",
            "timezone": "Europe/Berlin"
          }
        ]
      },
      {
        "identity": "JupmVLmA8RoyTUbTMMuTtoPWHEiNQobxgTeGTrPNkzT",
        "epoch": 964,
        "slot": "416462036",
        "stakeWeight": 12254651.761860535,
        "ipAddress": "64.130.41.46",
        "gossipPort": 8000,
        "tpuPort": 9001,
        "tpuQuicPort": 9007,
        "rpcAddress": null,
        "version": "3.1.13",
        "featureSet": "534737035",
        "leaderRegion": "frankfurt",
        "leaderCity": "Frankfurt am Main",
        "leaderCountry": "DE",
        "leaderLat": 50.1924,
        "leaderLon": 8.6753,
        "leaderOrg": "AS20326 TeraSwitch Networks Inc.",
        "leaderTimezone": "Europe/Berlin",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 0.974,
            "fromIp": "185.191.118.11",
            "country": "DE",
            "lat": 50.139,
            "lon": 8.6725,
            "org": "AS213896 UAB Cherry Servers",
            "postal": "60320",
            "timezone": "Europe/Berlin"
          }
        ]
      }
    ]
  }
}

响应字段

字段含义
result.successWhether the request succeeded.
result.messageHuman-readable status message.
result.totalNumber of returned leader slot records. The API currently returns 100 records per request.
result.data[]Ordered leader slot records starting from the requested slot.
identityLeader validator identity public key.
epochSolana epoch containing the slot.
slotSlot number. It is returned as a string, so clients should not assume a JSON number.
stakeWeightStake delegated to the leader validator. Higher stake generally means the validator appears in leader schedules more often over time.
leaderRegionNormalized operational region label used for routing and analysis. It may group nearby cities or provider locations.
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezoneEstimated geolocation and network organization for the leader validator.
pingToLeaders[]Reference latency from ERPC observation regions to the leader, including region, city, ms, fromIp, country, coordinates, ASN organization, postal code, and timezone.

可视化 Leader Slot

同一响应可以按 slot 时间线来阅读。下面示例以 Frankfurt 作为观测点。
Slot 范围Leader regionLeader 位置Stake weight来自 Frankfurt 的 ping运营含义
416462031stockholmŠiauliai, LT2,502,391.1427.742 ms欧洲内部延迟合理,但不是同一 metro。
416462032-416462035amsterdamAmsterdam, NL280,745.6916.835 ms低延迟欧洲窗口,Amsterdam 资源可能有优势。
416462036frankfurtFrankfurt am Main, DE12,254,651.760.974 ms同 region leader,Frankfurt 资源明显有利。
这很重要,因为 Solana 是全球网络。它不像传统 HFT 那样只需要靠近一个交易所 matching engine;Solana 的 leader 会在全球 validator 之间轮换,因此最快 region 会随着 leader schedule 改变。

Solana 网络数据网站

Validators Solutions - Solana network data
公开的 validator 与网络分布可以通过 Validators Solutions 查看。先用 Validators Solutions 理解 Solana 网络整体分布,再使用 getLeaderSlots 获取 slot 级别的调度、stake weight、validator 位置与实测延迟,用于运营路由判断。

Token 使用量

该 API 从指定 slot 开始返回 100 条 leader slot 记录。每次请求消耗 420 tokens。

为什么 Leader Slot 信息重要

  • 如果 leader 在地理或网络路径上很远,直接发送交易会变得低效。
  • Stake weight 有助于判断哪些 validator 在长期 leader schedule 中更常出现。
  • 全球 leader 切换时,region 切换策略比单一平均延迟更重要。
  • 结合 slot schedule、stake weight、leader 位置和实测 ping,可以优化路由和 validator 部署。

背景

一个 Solana epoch 大约包含 432,000 个 slot。持续收集 leader schedule、validator metadata、geolocation 与 latency measurement 需要专用数据管线。ERPC 维护这些数据,并通过 RPC 接口以可立即使用的 leader slot map 形式提供。

战略使用场景

  • 检测优化:优先处理附近、低延迟的 leader 窗口。
  • 多 region 部署:在 FRA、AMS、NY、TY、SGP 等关键 region 部署资源,减少切换空档。
  • Stake-aware 规划:使用 stakeWeight 理解长期窗口中更频繁出现的 leader。
  • 可视化与分析:按 region 监控 leader 比率、stake 分布与 latency 分布。

可用性

getLeaderSlots 对所有 ERPC 用户可用。API token 与使用额度可在 ERPC Web 仪表盘发行或确认。

交易成功率与 SWQoS Endpoint

若要进一步提高交易成功率和执行速度,建议使用 SWQoS Endpoint。SWQoS(Stake-weighted Quality of Service)会优先处理拥有 stake connection 的 validator。Leader 大约将 80% 带宽分配给 priority traffic,20% 分配给 non-priority traffic,priority lane 约有 5 倍 throughput。该调度发生在 Priority fee 评估之前,因此进入 SWQoS priority lane 是实现真正低延迟性能的前提。