Документация по Leader Slot Information API

Что такое Leader Slot Information API (getLeaderSlots)?

getLeaderSlots - это расширенный метод Solana RPC, который возвращает будущие записи leader slot: validator identity, stake weight, сетевые endpoint metadata, предполагаемую локацию leader и справочные измерения latency. Если у вас есть usage credits ERPC (API tokens), вы можете вызывать его в том же формате, что и стандартный Solana RPC method.
API предоставляет:
  • расписание leader validators, начиная с указанного slot
  • stakeWeight для каждого leader validator
  • предполагаемые leader region, city, country, coordinates, ASN organization и timezone
  • справочные ping-измерения из observation regions ERPC через pingToLeaders

Пример endpoint и request body

text
https://edge.erpc.global?api-key=<YOUR_API_KEY>
Укажите начальный slot в params.
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]
  }'

Пример response (JSON)

Текущий response помещает записи в 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"
          }
        ]
      }
    ]
  }
}

Поля response

ПолеЗначение
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 Slots

Тот же response можно читать как операционный timeline по slot. В примере ниже точкой наблюдения является Frankfurt.
Окно slotLeader regionЛокация leaderStake weightPing из FrankfurtОперационный вывод
416462031stockholmŠiauliai, LT2,502,391.1427.742 msНормальная европейская latency, но не тот же metro.
416462032-416462035amsterdamAmsterdam, NL280,745.6916.835 msНизколатентное европейское окно. Amsterdam resources могут быть полезны.
416462036frankfurtFrankfurt am Main, DE12,254,651.760.974 msLeader в той же region. Frankfurt resources имеют сильное преимущество.
Это важно, потому что Solana является глобальной сетью. В отличие от традиционного HFT, где часто достаточно быть рядом с одним matching engine, leaders Solana ротируются между validators по всему миру. Самая быстрая region меняется вместе с leader schedule.

Сайт данных сети Solana

Validators Solutions - Solana network data
Для публичного просмотра распределения validators и сети используйте Validators Solutions. Он помогает понять широкую картину сети Solana, а getLeaderSlots нужен для slot-level schedule, stake weight, validator location и измеренной latency, необходимых для operational routing.

Использование tokens

API получает 100 leader slot records, начиная с указанного slot. Каждый request потребляет 420 tokens.

Почему Leader Slot Information важна

  • Если leader далеко географически или по network path, direct transaction delivery становится неэффективной.
  • Stake weight помогает оценить, какие validators будут чаще появляться в leader schedule на длинном горизонте.
  • При глобальных leader transitions regional switching важнее, чем одно среднее значение latency.
  • Сочетание slot schedule, stake weight, leader location и measured ping позволяет оптимизировать routing и размещение инфраструктуры.

Контекст

Одна Solana epoch состоит примерно из 432 000 slots. Непрерывный сбор leader schedules, validator metadata, geolocation и latency measurements требует отдельного datapipeline. ERPC поддерживает эти данные и предоставляет их через RPC как готовую к использованию leader slot map.

Стратегические сценарии

  • Detection optimization: приоритизируйте близкие leader windows с низкой latency.
  • Multi-region deployment: размещайтесь в FRA, AMS, NY, TY, SGP и других стратегических regions, чтобы уменьшить gaps при transitions.
  • Stake-aware planning: используйте stakeWeight, чтобы понимать, какие leaders чаще важны на длинных окнах.
  • Visualization и analytics: отслеживайте leader ratios, stake distribution и latency distribution по region.

Доступность

getLeaderSlots доступен всем пользователям ERPC. API tokens и usage credits можно выпустить или проверить в ERPC Web Dashboard.

Успешность транзакций и SWQoS Endpoint

Чтобы дополнительно повысить успешность транзакций и скорость исполнения, мы рекомендуем использовать SWQoS Endpoint. SWQoS (Stake-weighted Quality of Service) приоритизирует validators со stake connections. Leaders выделяют примерно 80% bandwidth для priority traffic и 20% для non-priority traffic; priority lane дает около 5x throughput. Эта scheduling происходит до оценки Priority fee, поэтому попадание в SWQoS priority lane является предпосылкой настоящей low-latency performance.