Leader Slot Informatie API-documentatie

Wat is de Leader Slot Informatie (getLeaderSlots) API?

getLeaderSlots is een uitgebreide Solana RPC-methode die komende leader slot-records retourneert met validator identity, stake weight, netwerkmetadata, geschatte leader-locatie en referentiemetingen voor latency. Als u ERPC-gebruikstegoed (API-tokens) heeft, kunt u deze methode aanroepen in hetzelfde formaat als een standaard Solana RPC-methode.
Deze API biedt:
  • Leader validator-schema vanaf het opgegeven slot
  • stakeWeight voor elke leader validator
  • Geschatte leader-regio, stad, land, coördinaten, ASN-organisatie en timezone
  • Referentie-pingmetingen vanuit ERPC-observatieregio's via pingToLeaders

Endpoint en voorbeeld request body

text
https://edge.erpc.global?api-key=<YOUR_API_KEY>
Geef het startslot op in params.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLeaderSlots",
  "params": [436946064]
}

Voorbeeld (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]
  }'

Voorbeeldresponse (JSON)

De huidige response plaatst records in result.data[]. result.total toont hoeveel records zijn teruggegeven. De data[]-array hieronder is ingekort tot drie van de 100 records van dit verzoek. Het eerste item toont pingToLeaders vanuit alle zeven ERPC-observatieregio's; de overige items zijn voor de leesbaarheid teruggebracht tot één regio.
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"
          }
        ]
      }
    ]
  }
}

Responsevelden

VeldBetekenis
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[]Referentielatency vanuit de ERPC-observatieregio's (frankfurt, amsterdam, ny, london, tokyo, singapore, sydney) naar de leader, inclusief regio, stad, ms, icmpReplied, fromIp, land, coördinaten, ASN-organisatie, postcode, timezone en measuredAt.
pingToLeaders[].icmpRepliedOf de validator op de ICMP-meting heeft geantwoord. Is dit false, dan bevat ms een opgeslagen sentinel in plaats van een latency en mag het niet als latency worden gelezen. Behandel false als onbekend, niet als ver weg of onbruikbaar: sommige validators die niet op ICMP antwoorden, bedienen TPU en QUIC gewoon normaal, en door ze eruit te filteren kun je een gezonde leader uit je verzendpad halen. Controleer icmpReplied voordat je ms als latency vertrouwt: dit veld bepaalt of het getal bruikbaar is, niet naar welke validator je stuurt.
pingToLeaders[].measuredAtWanneer de latency voor het laatst is gemeten, in ISO-8601 UTC. Gebruik dit om te beoordelen hoe actueel een meting is. Elke observatieregio meet onafhankelijk, dus items in dezelfde pingToLeaders-array kunnen verschillende measuredAt-waarden hebben. Een oudere measuredAt betekent niet dat de meting stuk is: als een meetronde niet volledig wordt afgerond, blijft de opgeslagen waarde staan in plaats van te worden overschreven met een verzonnen waarde, zodat die nog steeds een echt uitgevoerde meting weergeeft.

Leader Slots visualiseren

Dezelfde response kan worden gelezen als een operationele tijdlijn per slot. Dit voorbeeld gebruikt Frankfurt als observatiepunt.
SlotvensterLeader-regioLeader-locatieStake weightPing vanuit FrankfurtOperationele lezing
436946064-436946066dublinCrumlin, IE819,031.3718.438 msEén leader houdt drie opeenvolgende slots. Frankfurt bedient deze met 18.4 ms, maar London (11.0 ms) en Amsterdam (12.8 ms) liggen dichterbij — voor dit venster wint capaciteit in London of Amsterdam het van Frankfurt.
436946068frankfurtFrankfurt am Main, DE166,438.250.062 msLeader in dezelfde metro. Frankfurt-resources zijn voor dit slot sterk in het voordeel.
Dit is belangrijk omdat Solana globaal is. Anders dan traditionele HFT, waar men vaak dicht bij één matching engine wil staan, roteren Solana leaders over validators wereldwijd. De snelste regio verandert met het leader schedule.

Solana-netwerkdatawebsite

Validators Solutions - Solana network data
Gebruik Validators Solutions voor een publieke weergave van validator- en netwerkdistributie. Gebruik dit om het bredere Solana-netwerk te begrijpen en gebruik daarna getLeaderSlots voor slotniveau-schema's, stake weight, validatorlocatie en gemeten latency voor operationele routing.

Tokengebruik

De API haalt 100 leader slot-records op vanaf het opgegeven slot. Elke request verbruikt 420 tokens.
Heeft u voor de hele epoch één item per validator nodig in plaats van één item per slot, gebruik dan de Validators Informatie API, die wordt afgerekend op het aantal validators dat wordt geretourneerd.

Waarom Leader Slot-informatie belangrijk is

  • Als de leader geografisch of via het netwerkpad ver weg is, wordt directe transaction delivery inefficiënt.
  • Stake weight helpt inschatten welke validators over langere vensters vaker als leader verschijnen.
  • Bij globale leadertransities is regionale switching belangrijker dan één gemiddeld globaal latencygetal.
  • De combinatie van slot schedule, stake weight, leaderlocatie en gemeten ping maakt optimale routing en plaatsing mogelijk.

Achtergrond

Een Solana epoch bestaat uit ongeveer 432.000 slots. Het continu verzamelen van leader schedules, validator metadata, geolocatie en latency vereist een dedicated datapipeline. ERPC onderhoudt deze gegevens en biedt ze via RPC aan als direct bruikbare leader slot map.

Strategische use cases

  • Detectieoptimalisatie: geef prioriteit aan nabije leader windows met lage latency.
  • Multi-regio deployment: gebruik FRA, AMS, NY, TY, SGP en andere strategische regio's om overgangsgaten te verkleinen.
  • Stake-aware planning: gebruik stakeWeight om leaders te herkennen die over langere vensters vaker belangrijk zijn.
  • Visualisatie en analytics: monitor leader ratio's, stake distribution en latency distribution per regio.

Beschikbaarheid

getLeaderSlots is beschikbaar voor alle ERPC-gebruikers. API tokens en gebruikstegoed kunnen worden uitgegeven of gecontroleerd via het ERPC Web Dashboard.

Transactiesucces en SWQoS Endpoint

Voor een hogere transactiesucceskans en snellere uitvoering raden we het SWQoS Endpoint aan. SWQoS (Stake-weighted Quality of Service) geeft prioriteit aan validators met stake connections. Leaders reserveren ongeveer 80% van de bandbreedte voor priority traffic en 20% voor non-priority traffic; de priority lane biedt ongeveer 5x throughput. Deze scheduling gebeurt vóór Priority-fee-evaluatie, waardoor toegang tot de SWQoS priority lane de basis is voor echte low-latency prestaties.