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
  • stakeWeight fü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>
Geben Sie die Start-Slot-Nummer in params an.
json
{
  "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]
  }'

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"
          }
        ]
      }
    ]
  }
}

Antwortfelder

FeldBedeutung
result.successOb die Anfrage erfolgreich war.
result.messageMenschlich lesbare Statusmeldung.
result.totalAnzahl 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.
identityPublic Key der Leader-Validator-Identität.
epochSolana-Epoche, die den Slot enthält.
slotSlot-Nummer. Sie wird als String zurückgegeben, Clients sollten daher keine JSON-Zahl annehmen.
stakeWeightAn 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.
leaderRegionNormalisiertes Label der Betriebsregion für Routing und Analyse. Es kann nahe gelegene Städte oder Anbieterstandorte zusammenfassen.
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezoneGeschä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[].icmpRepliedOb 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[].measuredAtZeitpunkt 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-FensterLeader-RegionLeader-StandortStake-GewichtPing aus FrankfurtOperative Einordnung
436946064-436946066dublinCrumlin, IE819,031.3718.438 msEin 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.
436946068frankfurtFrankfurt am Main, DE166,438.250.062 msLeader 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

Validators Solutions - Solana-Netzwerkdaten
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.

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.