Validators जानकारी API दस्तावेज़
Validators जानकारी (getValidatorsInformation) API क्या है?
getValidatorsInformation एक विस्तारित Solana RPC method है जो वर्तमान epoch में कम से कम एक slot का नेतृत्व करने वाले validator लौटाता है, जिसमें stake भार, नेटवर्क endpoint मेटाडेटा, अनुमानित leader स्थान और संदर्भ latency माप प्रति validator एक पंक्ति में समाहित होते हैं। यह नेटवर्क के हर node की सूची नहीं लौटाता, और यह RPC nodes नहीं लौटाता। यदि आपके पास ERPC उपयोग Credits (API Token) हैं, तो आप इसे एक मानक Solana RPC method के समान प्रारूप में कॉल कर सकते हैं।यह API प्रदान करता है:
- वर्तमान epoch में slot का नेतृत्व करने वाले प्रत्येक validator के लिए एक पंक्ति, जिसमें
slotCountदर्शाता है कि वह कितने slot का नेतृत्व करता है —getLeaderSlotsके विपरीत, जो प्रति slot एक पंक्ति लौटाता है - प्रत्येक leader validator के लिए
stakeWeight - अनुमानित leader क्षेत्र, शहर, देश, निर्देशांक, ASN संगठन और समय क्षेत्र
pingToLeadersके माध्यम से ERPC observation क्षेत्रों से संदर्भ ping माप
Endpoint और Request Body उदाहरण
text
https://edge.erpc.global?api-key=<YOUR_API_KEY>https://edge.erpc.global?api-key=<YOUR_API_KEY>प्रत्येक parameter वैकल्पिक है;
params छोड़ देने पर, या params: [] भेजने पर, वर्तमान epoch में slot का नेतृत्व करने वाला प्रत्येक validator लौटाया जाता है।json
{
"jsonrpc": "2.0",
"id": 1,
"method": "getValidatorsInformation",
"params": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "getValidatorsInformation",
"params": []
}परिणाम को संकीर्ण करने के लिए,
limit, country और region वाला एक object भेजें। यह उदाहरण जर्मनी में अधिकतम 5 validator माँगता है, जिसकी लागत ऊपर दिए गए बिना-filter अनुरोध से कम भी होती है।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" }]
}तीनों parameter वैकल्पिक हैं।
country का मिलान leaderCountry से ISO 3166-1 alpha-2 कोड का उपयोग करके किया जाता है, और यह case-insensitive है। region का मिलान leaderRegion से बिल्कुल सटीक और case-sensitive रूप में किया जाता है — अपने लक्षित validator के लिए मान्य मान जानने हेतु बिना-filter प्रतिक्रिया से leaderRegion पढ़ें। limit 1 से 2000 तक स्वीकार करता है और epoch में validator की वास्तविक संख्या तक सीमित कर दिया जाता है, इसलिए वास्तविक संख्या से बड़ा limit कभी त्रुटि नहीं देता।उदाहरण (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":[]
}'उदाहरण प्रतिक्रिया (JSON)
result.total दर्शाता है कि इस अनुरोध द्वारा कितने validator लौटाए गए। नीचे दी गई data[] array को इस epoch की 670 entries में से तीन तक संक्षिप्त किया गया है, और पठनीयता के लिए प्रत्येक entry के pingToLeaders को एक observation क्षेत्र तक सीमित किया गया है।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"
}
]
}
]
}
}प्रतिक्रिया फील्ड
| फील्ड | अर्थ |
|---|---|
result.success | अनुरोध सफल हुआ या नहीं। |
result.message | मानव-पठनीय स्थिति संदेश। |
result.epoch | वह epoch जिससे लौटाया गया leader set संबंधित है। यह leader शेड्यूल में मौजूद नवीनतम epoch है। |
result.total | data में validator की संख्या। कॉल का शुल्क इसी मात्रा पर लगता है। |
result.totalValidators | country, region या limit लागू होने से पहले उस epoch में leader validator की संख्या। किसी filter ने set को कितना संकीर्ण किया, यह देखने के लिए इसकी तुलना result.total से करें। |
result.data[] | प्रति validator एक entry, slotCount के अवरोही क्रम में और फिर identity के क्रम में, इसलिए limit सबसे अधिक slot का नेतृत्व करने वाले validator लौटाता है। |
identity | Validator पहचान सार्वजनिक कुंजी। |
gossipNodeId | इस validator से जुड़े gossip node रिकॉर्ड का पहचानकर्ता। जब कोई gossip node जुड़ा न हो तो यह null होता है, और उस स्थिति में स्थान, port और ping फील्ड भी खाली रहते हैं। बिना जुड़े gossip node वाले validator बिना-filter अनुरोध में लौटाए जाते हैं, परंतु country या region filter से मेल नहीं खा सकते। |
slotCount | रिपोर्ट किए गए epoch में यह validator जितने slot का नेतृत्व करता है। प्रत्येक entry एक validator को कवर करती है, एक slot को नहीं। |
stakeWeight | validator पहचान का सक्रिय stake, SOL में। बिना जुड़े gossip node वाले validator 0 रिपोर्ट करते हैं। |
ipAddress, gossipPort, tpuPort, tpuQuicPort, rpcAddress | validator के लिए gossip नेटवर्क endpoint मेटाडेटा। |
version, featureSet | validator द्वारा रिपोर्ट किया गया Solana क्लाइंट संस्करण और feature set। |
leaderRegion | रूटिंग और विश्लेषण के लिए उपयोग किया जाने वाला सामान्यीकृत परिचालन क्षेत्र लेबल। यह निकटवर्ती शहरों या प्रदाता स्थानों को समूहित कर सकता है, और यही वह मान है जिससे region अनुरोध parameter मेल खाता है। |
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezone | validator के लिए अनुमानित भू-स्थान और नेटवर्क संगठन। |
pingToLeaders[] | प्रत्येक ERPC observation क्षेत्र से इस validator तक संदर्भ latency, जिसमें क्षेत्र, शहर, ms, icmpReplied, fromIp, देश, निर्देशांक, ASN संगठन, डाक कोड, समय क्षेत्र और measuredAt शामिल हैं। |
pingToLeaders[].icmpReplied | validator ने माप का उत्तर दिया या नहीं। जब यह false हो, तो ms में latency नहीं बल्कि एक संग्रहीत placeholder मान होता है और उसे latency के रूप में नहीं पढ़ना चाहिए। |
pingToLeaders[].measuredAt | latency अंतिम बार कब मापी गई, ISO-8601 UTC में। किसी रीडिंग की नवीनता आँकने के लिए इसका उपयोग करें। |
Validator कवरेज का दृश्यीकरण
उसी प्रतिक्रिया को slot-दर-slot खोज के बजाय epoch-स्तरीय कवरेज मानचित्र के रूप में पढ़ा जा सकता है। यह उदाहरण Frankfurt को observation बिंदु के रूप में उपयोग करता है।
| Validator क्षेत्र | स्थान | epoch में slot | Stake भार | Frankfurt से Ping | परिचालनात्मक रीडिंग |
|---|---|---|---|---|---|
| frankfurt | Frankfurt am Main, DE | 13,232 | 12,254,651.76 | 0.974 ms | epoch के लगभग 432,000 slot में से 13,232, उसी मेट्रो में। Frankfurt क्षमता इस validator की सेवा पूरे epoch में करती है, केवल एक slot विंडो के दौरान नहीं। |
| stockholm | Šiauliai, LT | 2,704 | 2,502,391.14 | 27.742 ms | epoch का एक आवर्ती हिस्सा, ऐसी latency पर जिसे कोई अन्य यूरोपीय स्थान बेहतर सेवा दे सकता है। |
| amsterdam | Amsterdam, NL | 304 | 280,745.69 | 16.835 ms | प्रति epoch कुछ ही slot। पथ छोटा है, परंतु अकेले यह क्षमता रखने का कारण नहीं है। |
getLeaderSlots यह उत्तर देता है कि अगले slot का नेतृत्व कौन से validator करते हैं, इसलिए यह अभी किसी लेनदेन को रूट करने के लिए उपयुक्त है; यह method उत्तर देता है कि epoch में कौन से validator नेतृत्व करते हैं और कितनी बार, इसलिए यह तय करने के लिए उपयुक्त है कि epoch के लिए क्षमता कहाँ रखी जाए।
Solana नेटवर्क डेटा वेबसाइट
नेटवर्क वितरण के सार्वजनिक दृश्य के लिए Validators Solutions का उपयोग करें, फिर प्रति-validator slot संख्या, stake, स्थान और मापे गए latency के लिए
getValidatorsInformation का उपयोग करें।Token उपयोग
इस method का शुल्क उसके द्वारा लौटाए गए validator की संख्या पर, 10 की इकाइयों में लगता है: प्रत्येक 10 validator की लागत 100 Token है, और अधूरी इकाई भी पूरी इकाई गिनी जाती है। इसलिए 95 validator की प्रतिक्रिया का शुल्क 10 इकाइयों, यानी 1,000 Token के रूप में लगता है।
चूँकि शुल्क माँगे गए के बजाय लौटाए गए के अनुसार लगता है,
country या region से set को संकीर्ण करने पर लागत आनुपातिक रूप से कम होती है, और जिस अनुरोध से कोई validator मेल न खाए उसका कोई शुल्क नहीं लगता। epoch में validator की संख्या से बड़ा limit वास्तविक संख्या तक सीमित कर दिया जाता है, इसलिए कोई अनुरोध कभी उन validator के लिए भुगतान नहीं करता जो अस्तित्व में ही नहीं हैं।leader set का आकार epoch-दर-epoch बदलता रहता है। ऊपर दिखाए गए epoch में यह 670 validator था, जिससे एक पूरा read लगभग 6,700 Token का पड़ता है।
Validator जानकारी क्यों महत्वपूर्ण है
- प्रति validator एक पंक्ति यह उत्तर देती है कि इस epoch में कौन और कितना नेतृत्व करता है, बिना क्लाइंट-साइड पर सैकड़ों हज़ार slot पंक्तियों को एकत्रित किए।
slotCountदर्शाता है कि इस epoch में कोई validator कितनी बार leader होता है, इसलिए उच्चslotCountवाले validator तक छोटा पथ बार-बार लाभ देता है।countryऔरregionदर्शाते हैं कि epoch की leader क्षमता वास्तव में कहाँ स्थित है।measuredAtके साथ मिलाकर देखा गया ping धीमे पथ को पुरानी रीडिंग से अलग करता है।
पृष्ठभूमि
एक Solana epoch में लगभग 432,000 slot होते हैं। उन slot के leader आवंटन को validator पहचान के अनुसार समूहित करने पर वे लगभग 670 validator पंक्तियों में सिमट जाते हैं। ERPC leader शेड्यूल, validator मेटाडेटा, भू-स्थान और latency संग्रह का रखरखाव करता है, और परिणाम को RPC इंटरफ़ेस के माध्यम से उजागर करता है।
रणनीतिक उपयोग के मामले
- epoch-स्तरीय क्षमता योजना: अवसंरचना का आकार किसी रोलिंग slot विंडो के बजाय वर्तमान epoch का नेतृत्व करने वाले validator के पूरे set के अनुसार तय करें।
- क्षेत्रीय शॉर्टलिस्ट: किसी लक्षित स्थान में slot का नेतृत्व करने वाले validator निकालने के लिए
countryऔरregionका उपयोग करें। - slot-संख्या- और stake-अवगत प्राथमिकता: शॉर्टलिस्ट के भीतर validator को क्रम देने के लिए
slotCountऔरstakeWeightको संयोजित करें। - epoch-पार निगरानी: leader भूगोल कैसे बदलता है यह देखने के लिए epoch के बीच
leaderRegionवितरण की तुलना करें।
उपलब्धता
getValidatorsInformation सभी ERPC उपयोगकर्ताओं के लिए उपलब्ध है। API Token और उपयोग Credits को ERPC Web Dashboard पर जारी या सत्यापित किया जा सकता है।- ERPC Web Dashboard: ERPC Web Dashboard
लेनदेन सफलता दर और SWQoS Endpoint
लेनदेन सफलता दर और निष्पादन गति को और बेहतर बनाने के लिए, हम SWQoS Endpoint का उपयोग करने की अनुशंसा करते हैं। SWQoS (Stake-weighted Quality of Service) stake कनेक्शन वाले validator को प्राथमिकता देता है। leaders लगभग 80% बैंडविड्थ प्राथमिकता ट्रैफ़िक को और 20% गैर-प्राथमिकता ट्रैफ़िक को आवंटित करते हैं, जहाँ प्राथमिकता लेन लगभग 5x थ्रूपुट प्रदान करती है। यह शेड्यूलिंग Priority-fee मूल्यांकन से पहले होती है, जिसका अर्थ है कि SWQoS प्राथमिकता लेन में प्रवेश करना ही वास्तविक कम-latency प्रदर्शन के लिए पूर्वापेक्षा है।







