---
title: "Leader Slot 資訊 API 文件"
description: "Solana Leader Slot 資訊 API（getLeaderSlots API）的概述與使用方法"
canonical: "https://erpc.global/zh-tw/doc/rpc/leader-slot-api/"
locale: "zh-tw"
---

# Leader Slot 資訊 API 文件

## 什麼是 Leader Slot 資訊（getLeaderSlots）API？

`getLeaderSlots` 是一個擴充的 Solana RPC 方法，用於返回即將到來的 leader slot 記錄，包括 validator identity、質押權重、網路端點後設資料、估算的 leader 位置，以及參考延遲測量。持有 ERPC 使用額度（API token）的使用者，可以用與標準 Solana RPC 方法相同的格式呼叫。

此 API 提供：

- 從指定 slot 開始的 leader validator 排程
- 每個 leader validator 的 `stakeWeight`
- 估算的 leader 區域、城市、國家、座標、ASN 組織與時區
- 透過 `pingToLeaders` 提供從 ERPC 各觀測區域到 leader 的參考 ping 測量

## 端點和請求體示例

~~~text
https://edge.erpc.global?api-key=<YOUR_API_KEY>
~~~

在 `params` 中指定起始 slot 編號。

~~~json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLeaderSlots",
  "params": [436946064]
}
~~~

## 示例（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":[436946064]
  }'
~~~

## 響應示例（JSON）

當前響應會將記錄放在 `result.data[]` 中。`result.total` 表示返回的記錄數量。下面的 `data[]` 陣列從本次請求的 100 筆記錄中節錄了三筆：第一筆記錄展示了來自 ERPC 全部七個觀測區域的 `pingToLeaders`，其餘記錄為便於閱讀只保留了一個區域。

~~~json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "success": true,
    "message": "Leader schedule records retrieved successfully",
    "total": 100,
    "data": [
      {
        "identity": "BXAxLMMMUNYfC1z166VjWHR3WjTmqzLxB837o5ghmRtH",
        "epoch": 1011,
        "slot": "436946064",
        "stakeWeight": 819031.365477103,
        "ipAddress": "202.8.10.164",
        "gossipPort": 8000,
        "tpuPort": null,
        "tpuQuicPort": 5010,
        "rpcAddress": null,
        "version": "4.1.2",
        "featureSet": "3345198602",
        "leaderRegion": "dublin",
        "leaderCity": "Crumlin",
        "leaderCountry": "IE",
        "leaderLat": 53.32154,
        "leaderLon": -6.31439,
        "leaderOrg": "AS20326 TeraSwitch Networks Inc.",
        "leaderTimezone": "Europe/Dublin",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 18.438,
            "icmpReplied": true,
            "fromIp": "185.191.118.11",
            "country": "DE",
            "lat": 50.139,
            "lon": 8.6725,
            "org": "AS213896 UAB Cherry Servers",
            "postal": "60320",
            "timezone": "Europe/Berlin",
            "measuredAt": "2026-08-03T06:20:48.000Z"
          },
          {
            "city": "Newark",
            "region": "ny",
            "ms": 74.981,
            "icmpReplied": true,
            "fromIp": "64.130.37.222",
            "country": "US",
            "lat": 40.73566,
            "lon": -74.17237,
            "org": "AS20326 TeraSwitch Networks Inc.",
            "postal": "07102",
            "timezone": "America/New_York",
            "measuredAt": "2026-08-03T06:22:21.000Z"
          },
          {
            "city": "London",
            "region": "london",
            "ms": 10.978,
            "icmpReplied": true,
            "fromIp": "67.209.52.250",
            "country": "GB",
            "lat": 51.50853,
            "lon": -0.12574,
            "org": "AS20326 TeraSwitch Networks Inc.",
            "postal": "WC2N",
            "timezone": "Europe/London",
            "measuredAt": "2026-08-03T06:23:06.000Z"
          },
          {
            "city": "Singapore",
            "region": "singapore",
            "ms": 166.379,
            "icmpReplied": true,
            "fromIp": "202.8.11.52",
            "country": "SG",
            "lat": 1.2959,
            "lon": 103.7907,
            "org": "AS20326 TeraSwitch Networks Inc.",
            "postal": "139963",
            "timezone": "Asia/Singapore",
            "measuredAt": "2026-08-03T06:24:52.000Z"
          },
          {
            "city": "Amsterdam",
            "region": "amsterdam",
            "ms": 12.827,
            "icmpReplied": true,
            "fromIp": "84.32.103.245",
            "country": "NL",
            "lat": 52.37403,
            "lon": 4.88969,
            "org": "AS59642 UAB Cherry Servers",
            "postal": "1012",
            "timezone": "Europe/Amsterdam",
            "measuredAt": "2026-08-03T06:21:33.000Z"
          },
          {
            "city": "Ebara",
            "region": "tokyo",
            "ms": 212.499,
            "icmpReplied": true,
            "fromIp": "198.13.133.88",
            "country": "JP",
            "lat": 35.617,
            "lon": 139.7486,
            "org": "AS20326 TeraSwitch Networks Inc.",
            "postal": "140-0002",
            "timezone": "Asia/Tokyo",
            "measuredAt": "2026-08-03T06:24:01.000Z"
          },
          {
            "city": "Sydney",
            "region": "sydney",
            "ms": 274.379,
            "icmpReplied": true,
            "fromIp": "82.26.116.36",
            "country": "AU",
            "lat": -33.86785,
            "lon": 151.20732,
            "org": "AS29802 HIVELOCITY, Inc.",
            "postal": "1001",
            "timezone": "Australia/Sydney",
            "measuredAt": "2026-08-03T06:25:50.000Z"
          }
        ]
      },
      {
        "identity": "BXAxLMMMUNYfC1z166VjWHR3WjTmqzLxB837o5ghmRtH",
        "epoch": 1011,
        "slot": "436946065",
        "stakeWeight": 819031.365477103,
        "ipAddress": "202.8.10.164",
        "gossipPort": 8000,
        "tpuPort": null,
        "tpuQuicPort": 5010,
        "rpcAddress": null,
        "version": "4.1.2",
        "featureSet": "3345198602",
        "leaderRegion": "dublin",
        "leaderCity": "Crumlin",
        "leaderCountry": "IE",
        "leaderLat": 53.32154,
        "leaderLon": -6.31439,
        "leaderOrg": "AS20326 TeraSwitch Networks Inc.",
        "leaderTimezone": "Europe/Dublin",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 18.438,
            "icmpReplied": true,
            "fromIp": "185.191.118.11",
            "country": "DE",
            "lat": 50.139,
            "lon": 8.6725,
            "org": "AS213896 UAB Cherry Servers",
            "postal": "60320",
            "timezone": "Europe/Berlin",
            "measuredAt": "2026-08-03T06:20:48.000Z"
          }
        ]
      },
      {
        "identity": "BXAxLMMMUNYfC1z166VjWHR3WjTmqzLxB837o5ghmRtH",
        "epoch": 1011,
        "slot": "436946066",
        "stakeWeight": 819031.365477103,
        "ipAddress": "202.8.10.164",
        "gossipPort": 8000,
        "tpuPort": null,
        "tpuQuicPort": 5010,
        "rpcAddress": null,
        "version": "4.1.2",
        "featureSet": "3345198602",
        "leaderRegion": "dublin",
        "leaderCity": "Crumlin",
        "leaderCountry": "IE",
        "leaderLat": 53.32154,
        "leaderLon": -6.31439,
        "leaderOrg": "AS20326 TeraSwitch Networks Inc.",
        "leaderTimezone": "Europe/Dublin",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 18.438,
            "icmpReplied": true,
            "fromIp": "185.191.118.11",
            "country": "DE",
            "lat": 50.139,
            "lon": 8.6725,
            "org": "AS213896 UAB Cherry Servers",
            "postal": "60320",
            "timezone": "Europe/Berlin",
            "measuredAt": "2026-08-03T06:20:48.000Z"
          }
        ]
      }
    ]
  }
}
~~~

## 響應欄位

| 欄位 | 含義 |
| --- | --- |
| `result.success` | 請求是否成功。 |
| `result.message` | 可讀的狀態訊息。 |
| `result.total` | 返回的 leader slot 記錄數量。此 API 目前每次請求返回 100 筆記錄。 |
| `result.data[]` | 從所請求的 slot 開始依序排列的 leader slot 記錄。 |
| `identity` | Leader validator 的 identity 公鑰。 |
| `epoch` | 該 slot 所屬的 Solana epoch。 |
| `slot` | Slot 編號。以字串形式返回，因此用戶端不應假定它是 JSON 數字。 |
| `stakeWeight` | 委託給該 leader validator 的質押量。質押量越大，通常該 validator 在較長時間內出現在 leader 排程中的次數越多。 |
| `leaderRegion` | 用於路由與分析的正規化運營區域標籤。它可能將鄰近的城市或供應商位置歸為一組。 |
| `leaderCity`, `leaderCountry`, `leaderLat`, `leaderLon`, `leaderOrg`, `leaderTimezone` | 此 leader validator 的估算地理位置與網路組織。 |
| `pingToLeaders[]` | 從 ERPC 各觀測區域（`frankfurt`、`amsterdam`、`ny`、`london`、`tokyo`、`singapore`、`sydney`）到該 leader 的參考延遲，包含 region、city、ms、icmpReplied、fromIp、country、座標、ASN organization、郵遞區號、timezone 與 measuredAt。 |
| `pingToLeaders[].icmpReplied` | 此 validator 是否回應了本次 ICMP 測量。為 `false` 時，`ms` 帶的是預設的哨兵值而非延遲實測值，不應以延遲解讀。請把 `false` 理解為「未知」，而不是「距離遠」或「不可用」：有些 validator 不回應 ICMP，但 TPU 與 QUIC 仍然正常運作，據此過濾會把健康的 leader 從你的發送路徑中剔除。在把 `ms` 當作延遲使用之前，請先檢查 `icmpReplied`：該欄位決定這個數字是否可用，而不是決定該向哪個 validator 發送。 |
| `pingToLeaders[].measuredAt` | 最近一次測量此延遲的時間，採用 ISO-8601 UTC 格式。可用它判斷讀數的新鮮程度。各觀測區域各自獨立進行測量，因此同一個 `pingToLeaders` 陣列中的各筆記錄，`measuredAt` 可能並不相同。`measuredAt` 較舊並不代表讀數有問題：某輪測量未能跑完時，系統會保留已存的數值，而不會以捏造的數值覆蓋，因此它仍然反映過去確實進行過的一次測量。 |

## 視覺化 Leader Slot

同一響應可以按 slot 時間線來閱讀。下面示例以 Frankfurt 作為觀測點。

| Slot 範圍 | Leader 區域 | Leader 位置 | 質押權重 | 來自 Frankfurt 的 ping | 運營含義 |
| --- | --- | --- | --- | --- | --- |
| 436946064-436946066 | dublin | Crumlin, IE | 819,031.37 | 18.438 ms | 同一個 leader 連續持有三個 slot。Frankfurt 以 18.4 ms 服務它，但 London（11.0 ms）與 Amsterdam（12.8 ms）距離更近——在這個視窗中，London 或 Amsterdam 的資源優於 Frankfurt。 |
| 436946068 | frankfurt | Frankfurt am Main, DE | 166,438.25 | 0.062 ms | 同城的 leader。在此 slot，Frankfurt 資源明顯有利。 |

這個檢視很有用，因為 Solana 是全球性的。傳統 HFT 的主要目標往往是靠近某一個撮合引擎，而 Solana 的 leader 會在全球各地的 validator 之間輪換。最快的區域會隨著 leader 排程的變化而改變。

## Solana 網路資料網站

[![Validators Solutions - Solana 網路資料](https://erpc.global/faq/ValidatorsSolutionsEN.jpg)](https://validators.solutions/)

公開的 validator 與網路分佈可以透過 [Validators Solutions](https://validators.solutions/) 檢視。先用它了解 Solana 網路的整體情況，再使用 `getLeaderSlots` 取得運營路由所需的 slot 層級排程、質押權重、validator 位置與實測延遲資料。

## Token 使用量

該 API 從指定 slot 開始返回 100 條 leader slot 記錄。每次請求消耗 420 tokens。

如果需要的不是每個 slot 一筆記錄，而是整個 epoch 中每個 validator 一筆記錄，請使用 [Validators Information API](https://erpc.global/zh-tw/doc/rpc/validators-information-api/)，它依實際返回的 validator 數量計費。

## 為什麼 Leader Slot 資訊重要

- 如果 leader 在地理或網路路徑上很遠，直接傳送交易會變得低效。
- 質押權重有助於估計某個 validator 在較長時間內出現在 leader 排程中的頻率。
- 在全球範圍的 leader 切換期間，區域切換策略比單一的全球平均延遲更重要。
- 結合 slot 排程、質押權重、leader 位置和實測 ping 資料，可以最佳化路由和 validator 部署。

## 背景

一個 Solana epoch 大約包含 432,000 個 slot。持續收集 leader 排程、validator 後設資料、地理位置與延遲測量資料需要專用的資料管線。ERPC 維護這些資料，並透過 RPC 介面以可立即使用的 leader slot 地圖形式提供。

## 戰略使用場景

- 檢測最佳化：優先處理附近、低延遲的 leader 視窗。
- 多區域部署：在 FRA、AMS、NY、TY、SGP 等關鍵區域部署資源，以縮短切換空檔。
- 考慮質押的規劃：使用 `stakeWeight` 了解在較長時間視窗內哪些 leader 出現得更頻繁。
- 視覺化與分析：依區域監控 leader 比率、質押分佈與延遲分佈。

## 可用性

`getLeaderSlots` 對所有 ERPC 使用者可用。API token 與使用額度可在 ERPC Web Dashboard 上發行或確認。

- ERPC Web Dashboard：[ERPC Web Dashboard](https://dashboard.erpc.global/zh-tw)

## 交易成功率與 SWQoS 端點

若要進一步提高交易成功率和執行速度，建議使用 SWQoS 端點。SWQoS（Stake-weighted Quality of Service）會優先處理擁有質押連線的 validator。Leader 會將大約 80% 的頻寬分配給優先流量，20% 分配給非優先流量，優先通道的吞吐量約為 5 倍。該排程發生在 Priority fee 評估之前，因此進入 SWQoS 優先通道是實現真正低延遲效能的前提。
