> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Verwendung von getEpochSchedule

> Erfahren Sie mehr über die Verwendungsfälle, Codebeispiele, Anfrageparameter, Antwortstruktur und Tipps zu getEpochSchedule.

Die [`getEpochSchedule`](https://www.helius.dev/docs/api-reference/rpc/http/getepochschedule) RPC-Methode gibt die [Epoch](https://www.helius.dev/blog/solana-slots-blocks-and-epochs)-Zeitplaninformationen aus der Genesis-Konfiguration des Clusters zurück. Diese Daten definieren, wie Epochen strukturiert sind, einschließlich ihrer Länge und wie der Führungszeitplan relativ zum Beginn einer Epoche bestimmt wird.

Das Verständnis des Epoch-Zeitplans ist entscheidend für Anwendungen, die sich mit Netzwerkereignissen abstimmen, Epochengrenzen vorhersagen oder den Führungsrotationsmechanismus verstehen müssen.

## Häufige Anwendungsfälle

* **Vorhersage von Epochengrenzen:** Bestimmen Sie die Anzahl der Slots in einer Epoche, um abzuschätzen, wann die aktuelle Epoche endet und die nächste beginnt.
* **Berechnung des Führungszeitplans:** Verstehen Sie den `leaderScheduleSlotOffset`, um zu wissen, wie weit im Voraus Führungszeitpläne für eine kommende Epoche erstellt werden.
* **Analyse der Netzwerk-Initialisierung:** Beobachten Sie `warmup`, `firstNormalEpoch` und `firstNormalSlot`, um die anfängliche Aufwärmphase der Epoche im Cluster zu verstehen, falls zutreffend.
* **Entwicklung von Netzwerkanalysetools:** Verwenden Sie diese Informationen, um die Epoch-Zeit und den Fortschritt genau anzuzeigen.

## Anfrageparameter

Diese Methode benötigt keine Parameter.

## Antwortstruktur

Das `result`-Feld der JSON-RPC-Antwort wird ein Objekt enthalten, das die folgenden Felder aufweist:

* **`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 Führungszeitplan für diese Epoche erstellt wird.
* **`warmup`** (boolean): Ein boolescher Wert, der angibt, ob der Cluster eine Aufwärmphase hat, in der Epochen kürzer beginnen und allmählich länger werden.
* **`firstNormalEpoch`** (u64): Die erste Epochenzahl, die die volle `slotsPerEpoch`-Länge hat. Dies ist relevant, wenn `warmup` wahr ist.
* **`firstNormalSlot`** (u64): Der Slot-Index des ersten Slots in der `firstNormalEpoch`. Dies ist relevant, wenn `warmup` wahr ist.

## Beispiele

### 1. Abrufen des Epoch-Zeitplans für den Cluster

Dieses Beispiel ruft den Epoch-Zeitplan ab.

<CodeGroup>
  ```bash cURL theme={"system"}
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getEpochSchedule"
    }'
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  const { Connection } = require('@solana/web3.js');

  async function getClusterEpochSchedule() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const epochSchedule = await connection.getEpochSchedule();
      console.log(JSON.stringify(epochSchedule, null, 2));
    } catch (error) {
      console.error('Error fetching epoch schedule:', error);
    }
  }

  getClusterEpochSchedule();
  ```
</CodeGroup>

## Entwicklertipps

* **Statische Informationen:** Der Epoch-Zeitplan wird durch die Genesis-Konfiguration des Clusters bestimmt und ändert sich im Allgemeinen nicht, es sei denn, es gibt ein signifikantes Netzwerk-Upgrade oder einen neuen Cluster-Start mit anderen Parametern.
* **Mainnet vs. Testnet/Devnet:** Der Epoch-Zeitplan, insbesondere `slotsPerEpoch` und Aufwärmparameter, kann zwischen Mainnet Beta, Testnet und Devnet erheblich variieren. Fragen Sie immer den spezifischen Cluster ab, an dem Sie interessiert sind.
* **Aufwärmphase:** Wenn `warmup` `true` ist, haben Epochen vor `firstNormalEpoch` weniger Slots als `slotsPerEpoch`. Die genaue Berechnung für Aufwärmeposchenlängen ist `2^N * MINIMUM_SLOTS_PER_EPOCH`, wobei N die Epochennummer ist (beginnend bei 0), bis `firstNormalEpoch` erreicht ist. Der `MINIMUM_SLOTS_PER_EPOCH` beträgt typischerweise 32.

Dieser Leitfaden bietet die notwendigen Informationen zur Verwendung der `getEpochSchedule` RPC-Methode, um das grundlegende Timing und die Struktur von Epochen innerhalb eines Solana-Clusters zu verstehen.
