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

# getEpochSchedule

> Возвращает информацию о расписании epoch из конфигурации genesis данного кластера

## Параметры

Этот метод не требует никаких параметров.

## Ответ

<ResponseField name="result" type="object">
  <Expandable title="поля result">
    <ResponseField name="slotsPerEpoch" type="number">
      Максимальное количество слотов в каждом epoch
    </ResponseField>

    <ResponseField name="leaderScheduleSlotOffset" type="number">
      Количество слотов до начала epoch для вычисления расписания лидеров для данного epoch
    </ResponseField>

    <ResponseField name="warmup" type="boolean">
      Начинают ли epoch с короткого периода и увеличиваются ли в размере
    </ResponseField>

    <ResponseField name="firstNormalEpoch" type="number">
      Первый epoch нормальной длины: log2(slotsPerEpoch) - log2(MINIMUM\_SLOTS\_PER\_EPOCH)
    </ResponseField>

    <ResponseField name="firstNormalSlot" type="number">
      MINIMUM\_SLOTS\_PER\_EPOCH \* (2.pow(firstNormalEpoch) - 1)
    </ResponseField>
  </Expandable>
</ResponseField>

## Примеры кода

### Базовый запрос

```bash theme={null}
curl http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getEpochSchedule"
}'
```

### Использование web3.js

```typescript theme={null}
import { Connection } from '@solana/web3.js';

const connection = new Connection('http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');
const epochSchedule = await connection.getEpochSchedule();
console.log(epochSchedule);
```

### Использование Python

```python theme={null}
from solana.rpc.api import Client

client = Client("http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY")
response = client.get_epoch_schedule()
print(response)
```

## Примечания

1. Возвращает информацию о расписании epoch из конфигурации genesis кластера
2. Возвращаемые данные статичны и не изменяются для данной сети/кластера
3. Полезны для вычисления границ epoch и сроков расписания лидеров
4. Параметр warmup указывает, начинают ли epoch с короткого периода и растут ли до полного размера

## Лучшие практики

1. Кэшируйте эту информацию локально, так как она не изменяется
2. Используйте возвращаемые значения для вычисления переходов epoch
3. Используйте firstNormalEpoch и firstNormalSlot для вычислений сроков epoch
4. Обрабатывайте сетевые ошибки и повторяйте попытки при необходимости
