getEpochSchedule gibt Informationen zum Epochenplan aus der Genesis-Konfiguration des cluster zurück. Diese Daten definieren die Struktur der Epochen. Dazu gehören ihre Länge und die Festlegung des Leader-Plans relativ zum Beginn einer Epoche.
Der Epochenplan ist wichtig für Anwendungen, die sich an Netzwerkereignissen orientieren, Epochengrenzen vorhersagen oder den Mechanismus der Leader-Rotation verstehen müssen.
Häufige Anwendungsfälle
- Epochengrenzen vorhersagen: Ermittle die Anzahl der slots in einer Epoche, um abzuschätzen, wann die aktuelle Epoche endet und die nächste beginnt.
- Leader-Plan berechnen: Nutze
leaderScheduleSlotOffset, um zu ermitteln, wie weit im Voraus Leader-Pläne für eine bevorstehende Epoche erstellt werden. - Netzwerkinitialisierung analysieren: Untersuche
warmup,firstNormalEpochundfirstNormalSlot, um gegebenenfalls die anfängliche Hochlaufphase der Epochenlängen des cluster zu verstehen. - Tools zur Netzwerküberwachung entwickeln: Nutze diese Informationen, um den zeitlichen Ablauf und Fortschritt von Epochen genau darzustellen.
Parameter für den request
Diese Methode akzeptiert keine Parameter.Struktur der response
Das Feldresult der JSON-RPC-response enthält ein Objekt mit den folgenden Feldern:
slotsPerEpoch(u64): Die maximale Anzahl von slots in jeder Epoche (nach der Aufwärmphase, falls vorhanden).leaderScheduleSlotOffset(u64): Die Anzahl der slots vor dem Beginn einer Epoche, für die der Leader-Plan dieser Epoche erstellt wird.warmup(boolean): Ein boolescher Wert, der angibt, ob der cluster eine Aufwärmphase hat, in der Epochen kürzer beginnen und ihre Länge schrittweise zunimmt.firstNormalEpoch(u64): Die Nummer der ersten Epoche mit der vollständigen LängeslotsPerEpoch. Dies ist relevant, wennwarmuptrue ist.firstNormalSlot(u64): Der slot-Index des ersten slot infirstNormalEpoch. Dies ist relevant, wennwarmuptrue ist.
Beispiele
1. Epochenplan für den cluster abrufen
Dieses Beispiel ruft den Epochenplan ab.Tipps für Entwickler
- Statische Informationen: Die Genesis-Konfiguration des cluster legt den Epochenplan fest. Er ändert sich normalerweise nur bei einem umfangreichen Netzwerk-Upgrade oder beim Start eines neuen cluster mit anderen Parametern.
- Mainnet und Testnet/Devnet: Der Epochenplan, insbesondere
slotsPerEpochund die Parameter der Aufwärmphase, kann sich zwischen Mainnet Beta, Testnet und Devnet erheblich unterscheiden. Frage immer den spezifischen cluster ab, der dich interessiert. - Aufwärmphase: Wenn
warmupden Werttruehat, enthalten Epochen vorfirstNormalEpochweniger slots alsslotsPerEpoch. Die genaue Berechnung der Epochenlängen während der Aufwärmphase lautet2^N * MINIMUM_SLOTS_PER_EPOCH, wobei N die Epochennummer ist (beginnend bei 0), bisfirstNormalEpocherreicht wird.MINIMUM_SLOTS_PER_EPOCHbeträgt normalerweise 32.
getEpochSchedule den grundlegenden zeitlichen Ablauf und die Struktur von Epochen in einem Solana-cluster zu verstehen.