Validators Informatie API-documentatie

Wat is de Validators Informatie (getValidatorsInformation) API?

getValidatorsInformation is een uitgebreide Solana RPC-methode die de validators retourneert die in de huidige epoch minstens één slot leiden, met stake weight, netwerkmetadata van het endpoint, geschatte leader-locatie en referentiemetingen voor latency samengebracht in één rij per validator. Het geeft geen lijst van elke node in het netwerk en geen RPC-nodes. Als u ERPC-gebruikstegoed (API-tokens) heeft, kunt u deze methode aanroepen in hetzelfde formaat als een standaard Solana RPC-methode.
Deze API biedt:
  • Eén rij per validator die in de huidige epoch een slot leidt, waarbij slotCount aangeeft hoeveel slots die validator leidt — anders dan getLeaderSlots, dat één rij per slot retourneert
  • 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>
Elke parameter is optioneel; params weglaten of params: [] meesturen retourneert elke validator die in de huidige epoch een slot leidt.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getValidatorsInformation",
  "params": []
}
Geef een object met limit, country en region mee om het resultaat te versmallen. Dit voorbeeld vraagt om maximaal 5 validators in Duitsland en kost daarmee ook minder dan het ongefilterde verzoek hierboven.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getValidatorsInformation",
  "params": [{ "limit": 5, "country": "DE" }]
}
Alle drie de parameters zijn optioneel. country wordt hoofdletterongevoelig vergeleken met leaderCountry op basis van ISO 3166-1 alpha-2-codes. region wordt exact en hoofdlettergevoelig vergeleken met leaderRegion — lees leaderRegion uit een ongefilterde response om de geldige waarden voor uw doelvalidators te kennen. limit accepteert 1 tot 2000 en wordt teruggebracht tot het werkelijke aantal validators in de epoch, zodat een limit boven het echte aantal nooit een fout geeft.

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":"getValidatorsInformation",
    "params":[]
  }'

Voorbeeldresponse (JSON)

result.total toont hoeveel validators dit verzoek heeft geretourneerd. De data[]-array hieronder is ingekort tot drie van de 670 items van deze epoch, en pingToLeaders van elk item is voor de leesbaarheid teruggebracht tot één observatieregio.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "success": true,
    "message": "Validator information retrieved successfully",
    "epoch": 1010,
    "total": 670,
    "totalValidators": 670,
    "data": [
      {
        "identity": "JupmVLmA8RoyTUbTMMuTtoPWHEiNQobxgTeGTrPNkzT",
        "gossipNodeId": 2233,
        "slotCount": 13232,
        "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,
            "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-01T06:02:18.000Z"
          }
        ]
      },
      {
        "identity": "BSVckjdW2f8kcXPGcrPPtV9kUDBZ8w8PjrrGVnxgEdwq",
        "gossipNodeId": 1487,
        "slotCount": 2704,
        "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,
            "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-01T06:02:53.000Z"
          }
        ]
      },
      {
        "identity": "2oHUYyW2PU9VJh4XBs5TbGgzdernunvGqyKth3kxW4ns",
        "gossipNodeId": 902,
        "slotCount": 304,
        "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,
            "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-01T06:03:07.000Z"
          }
        ]
      }
    ]
  }
}

Responsevelden

VeldBetekenis
result.successOf het verzoek is geslaagd.
result.messageLeesbare statusmelding.
result.epochEpoch waartoe de geretourneerde leader-set behoort. Dit is de meest recente epoch in het leader-schema.
result.totalAantal validators in data. Op dit aantal wordt de aanroep afgerekend.
result.totalValidatorsAantal leader-validators in die epoch vóór country, region of limit is toegepast. Vergelijk het met result.total om te zien hoeveel een filter de set heeft versmald.
result.data[]Eén item per validator, aflopend op slotCount en daarna op identity, zodat een limit de validators met de meeste slots teruggeeft.
identityPublieke sleutel van de validator-identity.
gossipNodeIdIdentificatie van het gossip-node-record dat aan deze validator is gekoppeld. Is null wanneer er geen gossip-node is gekoppeld; dan zijn ook de locatie-, poort- en pingvelden leeg. Validators zonder gekoppelde gossip-node komen terug in een ongefilterd verzoek, maar kunnen niet voldoen aan een country- of region-filter.
slotCountAantal slots dat deze validator in de gerapporteerde epoch leidt. Elk item staat voor één validator, niet voor één slot.
stakeWeightGeactiveerde stake van de validator-identity, in SOL. Validators zonder gekoppelde gossip-node rapporteren 0.
ipAddress, gossipPort, tpuPort, tpuQuicPort, rpcAddressMetadata van het gossip-netwerkendpoint van de validator.
version, featureSetSolana-clientversie en feature set zoals gerapporteerd door de validator.
leaderRegionGenormaliseerd operationeel regiolabel voor routing en analyse. Het kan nabije steden of providerlocaties groeperen en is de waarde waarop de requestparameter region matcht.
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezoneGeschatte geolocatie en netwerkorganisatie van de validator.
pingToLeaders[]Referentielatency naar deze validator vanuit elke ERPC-observatieregio, inclusief regio, stad, ms, icmpReplied, fromIp, land, coördinaten, ASN-organisatie, postcode, timezone en measuredAt.
pingToLeaders[].icmpRepliedOf de validator op de meting heeft geantwoord. Is dit false, dan bevat ms een opgeslagen placeholder in plaats van een latency en mag het niet als latency worden gelezen.
pingToLeaders[].measuredAtWanneer de latency voor het laatst is gemeten, in ISO-8601 UTC. Gebruik dit om te beoordelen hoe actueel een meting is.

Validator-dekking visualiseren

Dezelfde response kan worden gelezen als een dekkingskaart op epoch-niveau in plaats van een opzoeking per slot. Dit voorbeeld gebruikt Frankfurt als observatiepunt.
Validator-regioLocatieSlots in epochStake weightPing vanuit FrankfurtOperationele lezing
frankfurtFrankfurt am Main, DE13,23212,254,651.760.974 ms13,232 van de ongeveer 432,000 slots van de epoch, in dezelfde metro. Frankfurt-capaciteit bedient deze validator de hele epoch, niet alleen tijdens één slotvenster.
stockholmŠiauliai, LT2,7042,502,391.1427.742 msEen terugkerend deel van de epoch bij een latency die een andere Europese locatie beter zou bedienen.
amsterdamAmsterdam, NL304280,745.6916.835 msWeinig slots per epoch. Het pad is kort, maar dat alleen is geen reden om capaciteit te plaatsen.
getLeaderSlots beantwoordt welke validators de volgende slots leiden en past dus bij het routeren van een transactie nu; deze methode beantwoordt welke validators de epoch als geheel leiden en hoe vaak, en past dus bij de beslissing waar capaciteit voor de epoch moet staan.

Solana-netwerkdatawebsite

Validators Solutions - Solana network data
Gebruik Validators Solutions voor de publieke weergave van netwerkdistributie en gebruik daarna getValidatorsInformation voor slotaantallen, stake, locatie en gemeten latency per validator.

Tokengebruik

Deze methode wordt afgerekend op het aantal validators dat wordt geretourneerd, in eenheden van 10: elke 10 validators kosten 100 tokens en een gedeeltelijke eenheid telt als een volle. Een response van 95 validators wordt daarom afgerekend als 10 eenheden, oftewel 1.000 tokens.
Omdat de afrekening volgt wat wordt geretourneerd en niet wat wordt opgevraagd, kost een met country of region versmalde set evenredig minder, en kost een verzoek dat op geen enkele validator matcht niets. Een limit boven het aantal validators in de epoch wordt teruggebracht tot het echte aantal, zodat een verzoek nooit betaalt voor validators die niet bestaan.
De omvang van de leader-set verandert per epoch. In de hierboven getoonde epoch waren het 670 validators, waardoor een volledige uitlezing op ongeveer 6.700 tokens uitkomt.

Waarom validator-informatie belangrijk is

  • Eén rij per validator beantwoordt wie deze epoch leidt en hoeveel, zonder honderdduizenden slotrijen aan de clientkant samen te voegen.
  • slotCount toont hoe vaak een validator in deze epoch leader is, waardoor een kort pad naar een validator met een hoge slotCount zich herhaaldelijk uitbetaalt.
  • country en region tonen waar de leader-capaciteit van de epoch daadwerkelijk zit.
  • Ping in combinatie met measuredAt scheidt een traag pad van een verouderde meting.

Achtergrond

Een Solana epoch bestaat uit ongeveer 432.000 slots. Zodra de leader-toewijzingen voor die slots per validator-identity worden gegroepeerd, vallen ze samen tot ongeveer 670 validatorrijen. ERPC onderhoudt het leader schedule, validator metadata, geolocatie en latencyverzameling en biedt het resultaat aan via de RPC-interface.

Strategische use cases

  • Capaciteitsplanning op epoch-niveau: dimensioneer infrastructuur op de volledige set validators die de huidige epoch leiden, niet op een schuivend slotvenster.
  • Regionale shortlists: gebruik country en region om de validators op te halen die op een doellocatie slots leiden.
  • Prioritering op slotaantal en stake: combineer slotCount en stakeWeight om validators binnen een shortlist te rangschikken.
  • Monitoring over epochs heen: vergelijk de verdeling van leaderRegion tussen epochs om te zien hoe de leader-geografie verschuift.

Beschikbaarheid

getValidatorsInformation 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.