Leader Slot जानकारी API दस्तावेज़
Leader Slot जानकारी (getLeaderSlots) API क्या है?
getLeaderSlots एक विस्तारित Solana RPC method है जो validator पहचान, stake भार, नेटवर्क endpoint मेटाडेटा, अनुमानित leader स्थान और संदर्भ latency मापों के साथ आगामी leader slot रिकॉर्ड लौटाता है। यदि आपके पास ERPC उपयोग Credits (API Token) हैं, तो आप इसे एक मानक Solana RPC method के समान प्रारूप में कॉल कर सकते हैं।यह API प्रदान करता है:
- अनुरोधित slot से शुरू होने वाला leader validator शेड्यूल
- प्रत्येक 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>params में आरंभिक slot संख्या निर्दिष्ट करें।json
{
"jsonrpc": "2.0",
"id": 1,
"method": "getLeaderSlots",
"params": [436946064]
}{
"jsonrpc": "2.0",
"id": 1,
"method": "getLeaderSlots",
"params": [436946064]
}उदाहरण (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]
}'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]
}'उदाहरण प्रतिक्रिया (JSON)
वर्तमान प्रतिक्रिया रिकॉर्ड को
result.data[] में लपेटती है। result.total दर्शाता है कि कितने रिकॉर्ड लौटाए गए। नीचे दी गई data[] array को इस अनुरोध के 100 रिकॉर्ड में से तीन तक संक्षिप्त किया गया है। पहली entry में सभी सात ERPC observation क्षेत्रों के pingToLeaders दिखाए गए हैं; शेष entries को पठनीयता के लिए एक क्षेत्र तक सीमित किया गया है।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"
}
]
}
]
}
}{
"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"
}
]
}
]
}
}प्रतिक्रिया फील्ड
| फील्ड | अर्थ |
|---|---|
result.success | अनुरोध सफल हुआ या नहीं। |
result.message | मानव-पठनीय स्थिति संदेश। |
result.total | लौटाए गए leader slot रिकॉर्ड की संख्या। API वर्तमान में प्रति अनुरोध 100 रिकॉर्ड लौटाता है। |
result.data[] | अनुरोधित slot से शुरू होने वाले क्रमबद्ध leader slot रिकॉर्ड। |
identity | leader validator पहचान सार्वजनिक कुंजी। |
epoch | slot को समाहित करने वाला Solana epoch। |
slot | slot संख्या। यह एक स्ट्रिंग के रूप में लौटाई जाती है, इसलिए क्लाइंट्स को इसे JSON संख्या नहीं मान लेना चाहिए। |
stakeWeight | leader validator को सौंपा गया stake। उच्च stake का सामान्यतः अर्थ है कि validator समय के साथ leader शेड्यूल में अधिक बार दिखाई देता है। |
leaderRegion | रूटिंग और विश्लेषण के लिए उपयोग किया जाने वाला सामान्यीकृत परिचालन क्षेत्र लेबल। यह निकटवर्ती शहरों या प्रदाता स्थानों को समूहित कर सकता है। |
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezone | leader validator के लिए अनुमानित भू-स्थान और नेटवर्क संगठन। |
pingToLeaders[] | ERPC observation क्षेत्रों (frankfurt, amsterdam, ny, london, tokyo, singapore, sydney) से leader तक संदर्भ latency, जिसमें क्षेत्र, शहर, ms, icmpReplied, fromIp, देश, निर्देशांक, ASN संगठन, डाक कोड, समय क्षेत्र और measuredAt शामिल हैं। |
pingToLeaders[].icmpReplied | validator ने ICMP माप का उत्तर दिया या नहीं। जब यह false हो, तो ms में latency नहीं बल्कि एक संग्रहीत sentinel मान होता है और उसे latency के रूप में नहीं पढ़ना चाहिए। false को अज्ञात मानें, न कि दूर या अनुपयोगी: कुछ validator ICMP का उत्तर नहीं देते, फिर भी TPU और QUIC सामान्य रूप से चलाते हैं, और उन्हें छाँटकर हटाने पर एक स्वस्थ leader आपके send path से निकल सकता है। ms को latency मानने से पहले icmpReplied जाँचें: यह तय करता है कि वह संख्या उपयोग योग्य है या नहीं, यह नहीं कि किस validator को भेजना है। |
pingToLeaders[].measuredAt | latency अंतिम बार कब मापी गई, ISO-8601 UTC में। किसी रीडिंग की नवीनता आँकने के लिए इसका उपयोग करें। प्रत्येक observation क्षेत्र स्वतंत्र रूप से मापता है, इसलिए एक ही pingToLeaders array की entries में measuredAt अलग-अलग हो सकता है। पुराना measuredAt ख़राब रीडिंग नहीं है: जब कोई माप चक्र पूरा नहीं हो पाता, तो संग्रहीत मान वैसा ही रहता है और उसे किसी गढ़े हुए मान से नहीं बदला जाता, इसलिए वह अब भी वास्तव में की गई पिछली माप को दर्शाता है। |
Leader Slots का दृश्यीकरण
उसी प्रतिक्रिया को slot-दर-slot परिचालन टाइमलाइन के रूप में देखा जा सकता है। यह उदाहरण Frankfurt को observation बिंदु के रूप में उपयोग करता है।
| Slot विंडो | Leader क्षेत्र | Leader स्थान | Stake भार | Frankfurt से Ping | परिचालनात्मक रीडिंग |
|---|---|---|---|---|---|
| 436946064-436946066 | dublin | Crumlin, IE | 819,031.37 | 18.438 ms | एक leader तीन क्रमागत slot रखता है। Frankfurt इसे 18.4 ms पर सेवा देता है, परंतु London (11.0 ms) और Amsterdam (12.8 ms) अधिक निकट हैं — इस विंडो के लिए London या Amsterdam क्षमता Frankfurt से बेहतर है। |
| 436946068 | frankfurt | Frankfurt am Main, DE | 166,438.25 | 0.062 ms | समान मेट्रो leader। इस slot के लिए Frankfurt संसाधन दृढ़ता से अनुकूल हैं। |
यह दृश्य उपयोगी है क्योंकि Solana वैश्विक है। पारंपरिक HFT के विपरीत, जहाँ मुख्य लक्ष्य अक्सर एक मैचिंग इंजन के निकट बैठना होता है, Solana leaders दुनिया भर के validator में घूमते रहते हैं। leader शेड्यूल बदलने के साथ सबसे तेज़ क्षेत्र भी बदलता है।
Solana नेटवर्क डेटा वेबसाइट
validator और नेटवर्क वितरण के सार्वजनिक दृश्य के लिए, Validators Solutions का उपयोग करें। व्यापक Solana नेटवर्क को समझने के लिए इसका उपयोग करें, फिर परिचालन रूटिंग के लिए आवश्यक slot-स्तरीय शेड्यूल, stake भार, validator स्थान और मापे गए latency डेटा के लिए
getLeaderSlots का उपयोग करें।Token उपयोग
API निर्दिष्ट slot से शुरू होकर 100 leader slot रिकॉर्ड प्राप्त करता है। प्रत्येक अनुरोध 420 Token का उपभोग करता है।
यदि आपको प्रति slot एक entry के बजाय पूरे epoch के लिए प्रति validator एक entry चाहिए, तो Validators जानकारी API का उपयोग करें, जिसका शुल्क उसके द्वारा लौटाए गए validator की संख्या पर लगता है।
Leader Slot जानकारी क्यों महत्वपूर्ण है
- यदि leader भौगोलिक रूप से या नेटवर्क-पथ की दृष्टि से दूर है, तो प्रत्यक्ष लेनदेन वितरण अकुशल हो जाता है।
- stake भार यह अनुमान लगाने में मदद करता है कि एक validator समय के साथ leader शेड्यूल में कितनी बार दिखाई देने की संभावना रखता है।
- वैश्विक leader परिवर्तनों के दौरान, एकल वैश्विक औसत latency की तुलना में क्षेत्रीय स्विचिंग रणनीतियाँ अधिक महत्वपूर्ण होती हैं।
- slot शेड्यूल, stake भार, leader स्थान और मापे गए ping डेटा को संयोजित करने से अनुकूलित रूटिंग और validator प्लेसमेंट संभव होता है।
पृष्ठभूमि
एक एकल Solana epoch में लगभग 432,000 slot होते हैं। leader शेड्यूल, validator मेटाडेटा, भू-स्थान और latency मापों को निरंतर एकत्र करने के लिए एक समर्पित डेटा पाइपलाइन की आवश्यकता होती है। ERPC इस डेटा का रखरखाव करता है और इसे RPC इंटरफ़ेस के माध्यम से तुरंत उपयोग करने योग्य leader slot मानचित्र के रूप में उजागर करता है।
रणनीतिक उपयोग के मामले
- डिटेक्शन अनुकूलन: निकटवर्ती, कम-latency leader विंडो को प्राथमिकता दें।
- बहु-क्षेत्र परिनियोजन: परिवर्तन अंतराल को कम करने के लिए FRA, AMS, NY, TY, SGP और अन्य रणनीतिक क्षेत्रों में परिनियोजित करें।
- stake-अवगत योजना: यह समझने के लिए
stakeWeightका उपयोग करें कि लंबी विंडो में कौन से leaders अधिक बार महत्वपूर्ण होते हैं। - दृश्यीकरण और एनालिटिक्स: क्षेत्र के अनुसार leader अनुपात, stake वितरण और latency वितरण की निगरानी करें।
उपलब्धता
getLeaderSlots सभी 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 प्रदर्शन के लिए पूर्वापेक्षा है।







