Zum Hauptinhalt springen
Die RPC-Methode 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, firstNormalEpoch und firstNormalSlot, 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 Feld result 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änge slotsPerEpoch. Dies ist relevant, wenn warmup true ist.
  • firstNormalSlot (u64): Der slot-Index des ersten slot in firstNormalEpoch. Dies ist relevant, wenn warmup true 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 slotsPerEpoch und 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 warmup den Wert true hat, enthalten Epochen vor firstNormalEpoch weniger slots als slotsPerEpoch. Die genaue Berechnung der Epochenlängen während der Aufwärmphase lautet 2^N * MINIMUM_SLOTS_PER_EPOCH, wobei N die Epochennummer ist (beginnend bei 0), bis firstNormalEpoch erreicht wird. MINIMUM_SLOTS_PER_EPOCH beträgt normalerweise 32.
Dieser Leitfaden enthält alle nötigen Informationen, um mit der RPC-Methode getEpochSchedule den grundlegenden zeitlichen Ablauf und die Struktur von Epochen in einem Solana-cluster zu verstehen.