getLeaderSchedule RPC-Methode gibt die Zuordnung der Blockproduktionsleitung zu Validierern für eine bestimmte Epoche zurück. Das Verständnis des Leader-Zeitplans kann für die Netzwerkanalyse nützlich sein, um vorherzusagen, welcher Validator zu bestimmten Zeiten Blöcke produzieren wird, oder für Tools, die mit bestimmten Leitern interagieren.
Häufige Anwendungsfälle
- Netzwerküberwachung: Beobachten Sie die Verteilung der Leader-Slots unter Validierern in einer Epoche.
- Transaktionsweiterleitung (Fortgeschritten): Einige fortgeschrittene Anwendungen könnten versuchen, Transaktionen zum aktuellen oder kommenden Leader zu leiten, obwohl dies im Allgemeinen vom Netzwerk und den RPC-Knoten gehandhabt wird.
- Validator-Leistungsanalyse: Korrelieren Sie den Leader-Zeitplan mit der tatsächlichen Blockproduktion, um die Betriebszeit und Leistung des Validators zu bewerten.
- Verständnis der Epoch-Fortschreitung: Sehen Sie, welche Validierer während einer Epoche für die Blockproduktion verantwortlich sind.
Anfrageparameter
Die Methode kann bis zu zwei optionale Parameter annehmen:slot(u64, optional): Eine Slotnummer. Wenn angegeben, wird der Leader-Zeitplan für die Epoche, die diesen Slot enthält, abgerufen. Wennnulloder weggelassen, wird der Leader-Zeitplan für die aktuelle Epoche abgerufen.config(Objekt, optional): Ein Konfigurationsobjekt, das Folgendes enthalten kann:commitment(String, optional): Gibt das Commitment-Level an. Wenn nicht bereitgestellt, wird das Standard-Commitment des Knotens verwendet.identity(String, optional): Ein base-58-kodierter öffentlicher Schlüssel eines Validators. Wenn angegeben, enthält der zurückgegebene Zeitplan nur Slots, die diesem speziellen Validator zugewiesen sind.
Antwortstruktur
Dasresult Feld der JSON-RPC-Antwort wird sein:
null: Wenn die Epoche, die der angefordertenslot(oder aktuellen Epoche, wenn kein Slot bereitgestellt wird) entspricht, nicht gefunden wird oder ihr Leader-Zeitplan nicht verfügbar ist (z.B. für eine zukünftige, nicht berechnete Epoche).- Ein Objekt: Wenn ein Zeitplan gefunden wird. Dieses Objekt ist eine Karte, bei der:
- Jeder Schlüssel der base-58-kodierte öffentliche Schlüssel (Identität) eines Validators ist.
- Der entsprechende Wert ein Array von Zahlen ist. Jede Zahl ist ein Slot-Index relativ zum Beginn der Epoche, für den dieser Validator der Leader ist.
1000 beginnt und ein Validator hat [0, 1, 5] in seinem Zeitplan, bedeutet dies, dass dieser Validator der Leader für die Slots 1000, 1001 und 1005 ist.
Beispiele
1. Abrufen des Leader-Zeitplans für die aktuelle Epoche
Dieses Beispiel ruft den vollständigen Leader-Zeitplan für die aktuelle Epoche ab.2. Abrufen des Leader-Zeitplans für einen bestimmten Validator in einer bestimmten Epoche (nach Slot)
Dieses Beispiel ruft den Leader-Zeitplan für eine gegebene Validator-Identität für die Epoche, die den Slot200000 enthält, ab.
Entwicklertipps
- Epochengrenzen: Der Leader-Zeitplan ist für eine gesamte Epoche festgelegt. Sie können
getEpochInfoverwenden, um die Start- und End-Slots einer Epoche zu finden. - Zukünftige Epochen: Das Anfordern des Zeitplans für eine weit in der Zukunft liegende Epoche könnte
nullzurückgeben, wenn das Netzwerk ihn noch nicht berechnet hat. - Relative Slot-Indizes: Denken Sie daran, dass die Slots in der Antwort relativ zum ersten Slot der angeforderten Epoche und nicht absolute Slotnummern in der Blockchain sind.
- Große Antwort: Für einen vollständigen Epoch-Zeitplan ohne Identitätsfilter kann die Antwort groß sein, da alle Validierer und ihre zugewiesenen Slots aufgelistet werden.
getLeaderSchedule, um Blockproduzenten-Zuweisungen für eine beliebige Epoche im Solana-Netzwerk abzufragen.
Verwandte Methoden
getEpochInfo
Holen Sie sich aktuelle Epochsinformationen einschließlich der Slot-Grenzen
getSlotLeaders
Holen Sie sich die Leiter für einen bestimmten Slot-Bereich