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
slotCountaangeeft hoeveel slots die validator leidt — anders dangetLeaderSlots, dat één rij per slot retourneert stakeWeightvoor 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>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": []
}{
"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" }]
}{
"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":[]
}'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"
}
]
}
]
}
}{
"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
| Veld | Betekenis |
|---|---|
result.success | Of het verzoek is geslaagd. |
result.message | Leesbare statusmelding. |
result.epoch | Epoch waartoe de geretourneerde leader-set behoort. Dit is de meest recente epoch in het leader-schema. |
result.total | Aantal validators in data. Op dit aantal wordt de aanroep afgerekend. |
result.totalValidators | Aantal 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. |
identity | Publieke sleutel van de validator-identity. |
gossipNodeId | Identificatie 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. |
slotCount | Aantal slots dat deze validator in de gerapporteerde epoch leidt. Elk item staat voor één validator, niet voor één slot. |
stakeWeight | Geactiveerde stake van de validator-identity, in SOL. Validators zonder gekoppelde gossip-node rapporteren 0. |
ipAddress, gossipPort, tpuPort, tpuQuicPort, rpcAddress | Metadata van het gossip-netwerkendpoint van de validator. |
version, featureSet | Solana-clientversie en feature set zoals gerapporteerd door de validator. |
leaderRegion | Genormaliseerd 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, leaderTimezone | Geschatte 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[].icmpReplied | Of 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[].measuredAt | Wanneer 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-regio | Locatie | Slots in epoch | Stake weight | Ping vanuit Frankfurt | Operationele lezing |
|---|---|---|---|---|---|
| frankfurt | Frankfurt am Main, DE | 13,232 | 12,254,651.76 | 0.974 ms | 13,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, LT | 2,704 | 2,502,391.14 | 27.742 ms | Een terugkerend deel van de epoch bij een latency die een andere Europese locatie beter zou bedienen. |
| amsterdam | Amsterdam, NL | 304 | 280,745.69 | 16.835 ms | Weinig 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
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.
slotCounttoont hoe vaak een validator in deze epoch leader is, waardoor een kort pad naar een validator met een hogeslotCountzich herhaaldelijk uitbetaalt.countryenregiontonen waar de leader-capaciteit van de epoch daadwerkelijk zit.- Ping in combinatie met
measuredAtscheidt 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
countryenregionom de validators op te halen die op een doellocatie slots leiden. - Prioritering op slotaantal en stake: combineer
slotCountenstakeWeightom validators binnen een shortlist te rangschikken. - Monitoring over epochs heen: vergelijk de verdeling van
leaderRegiontussen 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.- ERPC Web Dashboard: 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.







