Leader-Slot-Informations-API Dokumentation
Was ist die Leader-Slot-Information (getLeaderSlots) API?
getLeaderSlots ist eine erweiterte Solana-RPC-Methode, die kommende Leader-Slot-Datensätze mit Validator-Identität, Stake-Gewicht, Netzwerk-Endpunkt-Metadaten, geschätztem Leader-Standort und Referenz-Latenzmessungen zurückgibt. Wenn Sie über ERPC-Nutzungsguthaben (API-Tokens) verfügen, können Sie sie im selben Format wie eine Standard-Solana-RPC-Methode aufrufen.Diese API bietet:
- Leader-Validator-Zeitplan ab dem angeforderten Slot
stakeWeightfür jeden Leader-Validator- Geschätzte Leader-Region, Stadt, Land, Koordinaten, ASN-Organisation und Zeitzone
- Referenz-Ping-Messungen aus ERPC-Beobachtungsregionen über
pingToLeaders
Beispiel für Endpunkt und Request-Body
text
https://edge.erpc.global?api-key=<YOUR_API_KEY>https://edge.erpc.global?api-key=<YOUR_API_KEY>Geben Sie die Start-Slot-Nummer in
params an.json
{
"jsonrpc": "2.0",
"id": 1,
"method": "getLeaderSlots",
"params": [436946064]
}{
"jsonrpc": "2.0",
"id": 1,
"method": "getLeaderSlots",
"params": [436946064]
}Beispiel (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]
}'Beispiel Antwort (JSON)
Die aktuelle Antwort kapselt Datensätze in
result.data[]. result.total zeigt, wie viele Datensätze zurückgegeben wurden. Das data[]-Array unten ist auf drei der 100 Datensätze dieser Anfrage gekürzt. Der erste Eintrag zeigt pingToLeaders aus allen sieben ERPC-Beobachtungsregionen; die übrigen Einträge sind zur besseren Lesbarkeit auf eine Region reduziert.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"
}
]
}
]
}
}Antwortfelder
| Feld | Bedeutung |
|---|---|
result.success | Ob die Anfrage erfolgreich war. |
result.message | Menschlich lesbare Statusmeldung. |
result.total | Anzahl der zurückgegebenen Leader-Slot-Datensätze. Die API gibt derzeit 100 Datensätze pro Anfrage zurück. |
result.data[] | Geordnete Leader-Slot-Datensätze ab dem angeforderten Slot. |
identity | Public Key der Leader-Validator-Identität. |
epoch | Solana-Epoche, die den Slot enthält. |
slot | Slot-Nummer. Sie wird als String zurückgegeben, Clients sollten daher keine JSON-Zahl annehmen. |
stakeWeight | An den Leader-Validator delegierter Stake. Ein höherer Stake bedeutet in der Regel, dass der Validator im Laufe der Zeit häufiger im Leader-Zeitplan erscheint. |
leaderRegion | Normalisiertes Label der Betriebsregion für Routing und Analyse. Es kann nahe gelegene Städte oder Anbieterstandorte zusammenfassen. |
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezone | Geschätzte Geolokation und Netzwerkorganisation des Leader-Validators. |
pingToLeaders[] | Referenzlatenz von ERPC-Beobachtungsregionen (frankfurt, amsterdam, ny, london, tokyo, singapore, sydney) zum Leader, einschließlich Region, Stadt, ms, icmpReplied, fromIp, Land, Koordinaten, ASN-Organisation, Postleitzahl, Zeitzone und measuredAt. |
pingToLeaders[].icmpReplied | Ob der Validator auf die ICMP-Messung geantwortet hat. Ist der Wert false, enthält ms einen gespeicherten Sentinel statt einer Latenz und darf nicht als solche gelesen werden. Behandeln Sie false als unbekannt, nicht als weit entfernt oder unbrauchbar: Manche Validatoren antworten nicht auf ICMP, bedienen TPU und QUIC aber ganz normal, und wer sie herausfiltert, entfernt womöglich einen gesunden Leader aus dem eigenen Sendepfad. Prüfen Sie icmpReplied, bevor Sie ms als Latenz verwenden: Das Feld entscheidet, ob die Zahl brauchbar ist, und nicht, an welchen Validator Sie senden. |
pingToLeaders[].measuredAt | Zeitpunkt der letzten Latenzmessung, in ISO-8601 UTC. Damit beurteilen Sie, wie aktuell ein Messwert ist. Jede Beobachtungsregion misst unabhängig, daher können Einträge im selben pingToLeaders-Array unterschiedliche measuredAt-Werte tragen. Ein älterer measuredAt ist kein fehlerhafter Messwert: Läuft ein Messdurchgang nicht vollständig durch, bleibt der gespeicherte Wert erhalten, statt mit einem erfundenen überschrieben zu werden, und gibt damit weiterhin eine tatsächlich erfolgte Messung wieder. |
Visualisierung von Leader-Slots
Die gleiche Antwort kann als Slot-für-Slot-Betriebszeitleiste betrachtet werden. Dieses Beispiel nutzt Frankfurt als Beobachtungspunkt.
| Slot-Fenster | Leader-Region | Leader-Standort | Stake-Gewicht | Ping aus Frankfurt | Operative Einordnung |
|---|---|---|---|---|---|
| 436946064-436946066 | dublin | Crumlin, IE | 819,031.37 | 18.438 ms | Ein Leader hält drei aufeinanderfolgende Slots. Frankfurt bedient ihn mit 18.4 ms, aber London (11.0 ms) und Amsterdam (12.8 ms) liegen näher — für dieses Fenster schlägt Kapazität in London oder Amsterdam die in Frankfurt. |
| 436946068 | frankfurt | Frankfurt am Main, DE | 166,438.25 | 0.062 ms | Leader in derselben Metropolregion. Für diesen Slot sind Frankfurt-Ressourcen klar im Vorteil. |
Diese Ansicht ist nützlich, weil Solana global ist. Anders als beim klassischen HFT, wo das Hauptziel oft darin besteht, möglichst nah an einer einzelnen Matching-Engine zu sitzen, rotiert die Leader-Rolle bei Solana über Validatoren auf der ganzen Welt. Die schnellste Region ändert sich mit dem Leader-Zeitplan.
Solana Network Data Website
Für einen öffentlichen Überblick über die Validator- und Netzwerkverteilung nutzen Sie Validators Solutions. Damit verstehen Sie das breitere Solana-Netzwerk; anschließend nutzen Sie
getLeaderSlots für den Slot-genauen Zeitplan, das Stake-Gewicht, den Validator-Standort und die gemessenen Latenzdaten, die Sie für operatives Routing benötigen.Token-Verbrauch
Die API ruft 100 Leader-Slot-Datensätze ab dem angegebenen Slot ab. Jede Anfrage verbraucht 420 Token.
Wenn Sie statt eines Eintrags pro Slot einen Eintrag pro Validator für die gesamte Epoche benötigen, verwenden Sie die API für Validator-Informationen, die nach der Anzahl der zurückgegebenen Validatoren abgerechnet wird.
Warum Leader-Slot-Informationen wichtig sind
- Wenn der Leader geografisch oder über den Netzwerkpfad weit entfernt ist, wird die direkte Transaktionszustellung ineffizient.
- Das Stake-Gewicht hilft abzuschätzen, wie häufig ein Validator im Laufe der Zeit im Leader-Zeitplan erscheinen dürfte.
- Bei globalen Leader-Wechseln sind regionale Umschaltstrategien wichtiger als ein einzelner globaler Latenzdurchschnitt.
- Die Kombination aus Slot-Zeitplan, Stake-Gewicht, Leader-Standort und gemessenen Ping-Daten ermöglicht optimiertes Routing und eine optimierte Validator-Platzierung.
Hintergrund
Eine einzelne Solana-Epoche besteht aus rund 432.000 Slots. Die fortlaufende Erfassung von Leader-Zeitplänen, Validator-Metadaten, Geolokation und Latenzmessungen erfordert eine dedizierte Datenpipeline. ERPC pflegt diese Daten und stellt sie über die RPC-Schnittstelle als sofort nutzbare Leader-Slot-Karte bereit.
Strategische Anwendungsfälle
- Erkennungsoptimierung: Priorisieren Sie nahe gelegene Leader-Fenster mit niedriger Latenz.
- Multi-Region-Deployment: Stellen Sie in FRA, AMS, NY, TY, SGP und weiteren strategischen Regionen bereit, um Lücken bei Leader-Wechseln zu reduzieren.
- Stake-bewusste Planung: Nutzen Sie
stakeWeight, um zu verstehen, welche Leader über längere Zeitfenster hinweg häufiger ins Gewicht fallen. - Visualisierung und Analyse: Überwachen Sie Leader-Anteile, Stake-Verteilung und Latenzverteilung nach Region.
Verfügbarkeit
getLeaderSlots steht allen ERPC-Benutzern zur Verfügung. API-Token und Nutzungsguthaben können im ERPC Web-Dashboard ausgestellt oder überprüft werden.- ERPC Web-Dashboard: ERPC Web-Dashboard
Transaction Success Rate und SWQoS Endpunkt
Um die Transaktionserfolgsrate und die Ausführungsgeschwindigkeit weiter zu verbessern, empfehlen wir den SWQoS Endpunkt. SWQoS (Stake-weighted Quality of Service) priorisiert Validatoren mit Stake-Verbindungen. Leader weisen etwa 80% der Bandbreite dem Prioritätsverkehr und 20% dem Nicht-Prioritätsverkehr zu, wobei die Prioritätsspur etwa den 5-fachen Durchsatz bietet. Diese Priorisierung erfolgt vor der Priority-Fee-Bewertung; der Zugang zur SWQoS-Prioritätsspur ist damit die Voraussetzung für echte Performance mit niedriger Latenz.







