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 是實現真正低延遲效能的前提。