Leader Slot 정보 API 문서

Leader Slot 정보 (getLeaderSlots) API란?

getLeaderSlots는 validator 신원, stake 가중치, 네트워크 endpoint 메타데이터, 추정 leader 위치, 참조 지연 측정값과 함께 다가오는 leader slot 레코드를 반환하는 확장 Solana RPC 메서드입니다. ERPC 사용 Credits(API Token)를 보유하고 있다면 표준 Solana RPC 메서드와 동일한 형식으로 호출할 수 있습니다.
이 API는 다음을 제공합니다.
  • 요청한 slot부터 시작하는 leader validator 일정
  • 각 leader validator에 대한 stakeWeight
  • 추정 leader 지역, 도시, 국가, 좌표, ASN 조직, 시간대
  • pingToLeaders를 통한 ERPC 관측 지역으로부터의 참조 ping 측정값

Endpoint 및 요청 본문 예시

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.success요청 성공 여부.
result.message사람이 읽을 수 있는 상태 메시지.
result.total반환된 leader slot 레코드 수. 현재 API는 요청당 100개의 레코드를 반환합니다.
result.data[]요청한 slot부터 시작하여 순서대로 정렬된 leader slot 레코드.
identityLeader validator 신원 공개 키.
epoch해당 slot이 포함된 Solana epoch.
slotSlot 번호. 문자열로 반환되므로 클라이언트는 JSON 숫자로 가정해서는 안 됩니다.
stakeWeightLeader validator에 위임된 stake. 일반적으로 stake가 높을수록 시간이 지나면서 해당 validator가 leader 일정에 더 자주 나타납니다.
leaderRegion라우팅 및 분석에 사용되는 정규화된 운영 지역 라벨. 인접한 도시나 제공자 위치를 묶을 수 있습니다.
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezoneLeader validator의 추정 지리적 위치 및 네트워크 조직.
pingToLeaders[]ERPC 관측 지역에서 leader까지의 참조 지연. 지역, 도시, ms, fromIp, 국가, 좌표, ASN 조직, 우편번호, 시간대를 포함합니다.

Leader Slot 시각화

동일한 응답을 slot 단위 운영 타임라인으로 볼 수 있습니다. 이 예시는 Frankfurt를 관측 지점으로 사용합니다.
Slot 구간Leader 지역Leader 위치Stake 가중치Frankfurt로부터의 Ping운영 해석
416462031stockholmŠiauliai, LT2,502,391.1427.742 ms유럽 내에서는 합리적인 지연이지만 동일한 대도시권은 아님.
416462032-416462035amsterdamAmsterdam, NL280,745.6916.835 ms낮은 지연의 유럽 구간. Amsterdam 리소스가 유용할 수 있음.
416462036frankfurtFrankfurt am Main, DE12,254,651.760.974 ms동일 지역 leader. 이 slot에서는 Frankfurt 리소스가 강력하게 유리함.
이 관점이 유용한 이유는 Solana가 글로벌하기 때문입니다. 하나의 매칭 엔진 근처에 자리 잡는 것이 주요 목표인 전통적인 HFT와 달리, Solana leader는 전 세계 validator를 가로질러 순환합니다. Leader 일정이 바뀌면 가장 빠른 지역도 바뀝니다.

Solana 네트워크 데이터 웹사이트

Validators Solutions - Solana network data
validator 및 네트워크 분포를 공개적으로 확인하려면 Validators Solutions를 사용하세요. 이를 통해 더 넓은 Solana 네트워크를 이해한 뒤, 운영 라우팅에 필요한 slot 단위 일정, stake 가중치, validator 위치, 측정된 지연 데이터를 얻으려면 getLeaderSlots를 사용하세요.

Token 사용량

이 API는 지정한 slot부터 시작하여 100개의 leader slot 레코드를 가져옵니다. 각 요청은 420 Token을 소비합니다.

Leader Slot 정보가 중요한 이유

  • Leader가 지리적으로 또는 네트워크 경로상 멀리 떨어져 있으면 직접 트랜잭션 전달이 비효율적입니다.
  • Stake 가중치는 시간이 지나면서 validator가 leader 일정에 얼마나 자주 나타날지 추정하는 데 도움이 됩니다.
  • 글로벌 leader 전환 중에는 단일 글로벌 평균 지연보다 지역 전환 전략이 더 중요합니다.
  • slot 일정, stake 가중치, leader 위치, 측정된 ping 데이터를 결합하면 최적화된 라우팅과 validator 배치가 가능합니다.

배경

단일 Solana epoch는 약 432,000개의 slot으로 구성됩니다. Leader 일정, validator 메타데이터, 지리적 위치, 지연 측정값을 지속적으로 수집하려면 전용 데이터 파이프라인이 필요합니다. ERPC는 이 데이터를 유지하고 RPC 인터페이스를 통해 즉시 사용 가능한 leader slot 맵으로 제공합니다.

전략적 활용 사례

  • 탐지 최적화: 가깝고 지연이 낮은 leader 구간을 우선시.
  • 멀티 리전 배포: FRA, AMS, NY, TY, SGP 및 기타 전략적 지역에 배포하여 전환 격차를 줄임.
  • Stake 인식 계획: stakeWeight를 활용하여 더 긴 구간에서 어떤 leader가 더 자주 중요한지 파악.
  • 시각화 및 분석: 지역별 leader 비율, stake 분포, 지연 분포를 모니터링.

이용 가능 여부

getLeaderSlots는 모든 ERPC 사용자가 이용할 수 있습니다. API Token 및 사용 Credits는 ERPC 웹 Dashboard에서 발급하거나 확인할 수 있습니다.

트랜잭션 성공률 및 SWQoS Endpoint

트랜잭션 성공률과 실행 속도를 더욱 높이려면 SWQoS Endpoint 사용을 권장합니다. SWQoS(Stake-weighted Quality of Service)는 stake 연결이 있는 validator를 우선시합니다. Leader는 대역폭의 약 80%를 우선 트래픽에, 20%를 비우선 트래픽에 할당하며, 우선 레인은 약 5배의 처리량을 제공합니다. 이 스케줄링은 Priority-fee 평가 이전에 이루어지므로, SWQoS 우선 레인에 진입하는 것이 진정한 저지연 성능의 전제 조건입니다.