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 de validator-identity, stake weight, netwerkmetadata van het endpoint, geschatte leader-locatie en referentiemetingen van de latentie. Als u ERPC-gebruikstegoed (API-tokens) heeft, kunt u deze methode aanroepen in hetzelfde formaat als een standaard Solana RPC-methode.
Deze API biedt:
  • Schema van leader-validators vanaf het opgegeven slot
  • stakeWeight voor elke leader-validator
  • Geschatte leader-regio, stad, land, coördinaten, ASN-organisatie en tijdzone
  • Referentie-pingmetingen vanuit ERPC-observatieregio's via pingToLeaders

Endpoint en voorbeeld van de request body

endpoint
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.successOf het verzoek is geslaagd.
result.messageLeesbare statusmelding.
result.totalAantal geretourneerde leader slot-records. De API retourneert momenteel 100 records per verzoek.
result.data[]Geordende leader slot-records vanaf het opgegeven slot.
identityPublieke sleutel van de identity van de leader-validator.
epochSolana-epoch waarin het slot valt.
slotSlotnummer. Het wordt als string geretourneerd, dus clients zouden niet moeten uitgaan van een JSON-getal.
stakeWeightStake die aan de leader-validator is gedelegeerd. Meer stake betekent doorgaans dat de validator na verloop van tijd vaker in leader schedules verschijnt.
leaderRegionGenormaliseerd operationeel regiolabel voor routing en analyse. Het kan nabije steden of providerlocaties groeperen.
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezoneGeschatte geolocatie en netwerkorganisatie van de leader-validator.
pingToLeaders[]Referentielatentie 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, tijdzone en measuredAt.
pingToLeaders[].icmpRepliedOf de validator op de meting heeft geantwoord. Is dit false, dan bevat ms een opgeslagen sentinelwaarde in plaats van een latentie en mag het niet als latentie 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 kunt u een gezonde leader uit uw verzendpad halen. Controleer icmpReplied voordat u ms als latentie vertrouwt: dit veld bepaalt of het getal bruikbaar is, niet naar welke validator u verstuurt.
pingToLeaders[].measuredAtWanneer de latentie 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 interpretatie
436946064-436946066dublinCrumlin, IE819,031.3718.438 msEén leader heeft 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.
Deze weergave is nuttig omdat Solana wereldwijd is. Anders dan bij traditionele HFT, waar het doel vaak is om dicht bij één matching engine te staan, rouleren Solana-leaders over validators over de hele wereld. De snelste regio verandert mee met het leader schedule.

Website met Solana-netwerkdata

Validators Solutions - Solana-netwerkdata
Gebruik Validators Solutions voor een publieke weergave van de verdeling van validators en het netwerk. Gebruik het om het bredere Solana-netwerk te begrijpen en gebruik daarna getLeaderSlots voor het schema per slot, stake weight, validatorlocatie en gemeten latentie die nodig zijn voor operationele routing.

Tokengebruik

De API haalt 100 leader slot-records op vanaf het opgegeven slot. Elk 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 qua netwerkpad ver weg is, wordt het direct afleveren van transacties inefficiënt.
  • Stake weight helpt in te schatten hoe vaak een validator na verloop van tijd waarschijnlijk in het leader schedule verschijnt.
  • Bij wereldwijde leaderwisselingen zijn regionale wisselstrategieën belangrijker dan één wereldwijd gemiddelde latentie.
  • De combinatie van slotschema, stake weight, leader-locatie en gemeten pingdata maakt geoptimaliseerde routing en plaatsing van validators mogelijk.

Achtergrond

Een Solana-epoch bestaat uit ongeveer 432.000 slots. Het continu verzamelen van leader schedules, validatormetadata, geolocatie en latentiemetingen vereist een speciale datapipeline. ERPC onderhoudt deze gegevens en biedt ze via de RPC-interface aan als direct bruikbare leader slot map.

Strategische use cases

  • Detectieoptimalisatie: geef prioriteit aan nabije leadervensters met lage latentie.
  • Multiregio-deployment: deploy in FRA, AMS, NY, TY, SGP en andere strategische regio's om overgangsgaten te verkleinen.
  • Planning op basis van stake: gebruik stakeWeight om te begrijpen welke leaders over langere vensters vaker van belang zijn.
  • Visualisatie en analytics: monitor leaderverhoudingen, stakeverdeling en latentieverdeling per regio.

Beschikbaarheid

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

Slagingspercentage van transacties 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 stakeverbindingen. Leaders reserveren ongeveer 80% van de bandbreedte voor prioriteitsverkeer en 20% voor niet-prioritair verkeer; de prioriteitsbaan biedt ongeveer 5x zoveel throughput. Deze scheduling vindt plaats vóór de evaluatie van de Priority fee, waardoor toegang tot de SWQoS-prioriteitsbaan de voorwaarde is voor echte prestaties met lage latentie.