> ## 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.

# getEpochSchedule 사용법

> getEpochSchedule 사용 사례, 코드 예제, 요청 매개변수, 응답 구조 및 팁을 배웁니다.

[`getEpochSchedule`](https://www.helius.dev/docs/api-reference/rpc/http/getepochschedule) RPC 메소드는 클러스터의 생성 구성에서 [epoch](https://www.helius.dev/blog/solana-slots-blocks-and-epochs) 일정 정보를 반환합니다. 이 데이터는 에포크의 구조, 길이, 리더 일정이 에포크의 시작과 어떻게 관련되는지를 정의합니다.

에포크 일정을 이해하는 것은 네트워크 이벤트에 맞춰야 하거나, 에포크 경계를 예측하거나, 리더 회전 메커니즘을 이해해야 하는 애플리케이션에 중요합니다.

## 일반적인 사용 사례

* **에포크 경계 예측:** 에포크 내 슬롯 수를 결정하여 현재 에포크가 언제 끝나고 다음 에포크가 언제 시작될지를 추정합니다.
* **리더 일정 계산:** 앞으로 다가올 에포크를 위해 리더 일정이 얼마나 미리 생성되는지를 이해합니다.
* **네트워크 초기화 분석:** 에포크 길이의 초기 증가 단계에 대한 이해를 도와주는 여러 필드를 관찰합니다.
* **네트워크 모니터링 도구 구축:** 이 정보를 사용하여 에포크 타이밍 및 진행 상황을 정확히 표시합니다.

## 요청 매개변수

이 메소드는 매개변수를 필요로 하지 않습니다.

## 응답 구조

JSON-RPC 응답의 '`result`' 필드는 다음 필드를 포함하는 객체입니다:

* **`slotsPerEpoch`** (u64): 각 에포크의 최대 슬롯 수 (웜업 기간 이후, 있을 경우).
* **`leaderScheduleSlotOffset`** (u64): 에포크 시작 전에 리더 일정이 생성되는 슬롯의 수.
* **`warmup`** (boolean): 에포크가 짧게 시작하고 점차 길어지는 웜업 기간이 있는지 여부를 나타내는 부울 값.
* **`firstNormalEpoch`** (u64): 전체 길이를 가지는 첫 번째 에포크 번호입니다. 웜업 기간이 있으면 관련이 있습니다.
* **`firstNormalSlot`** (u64): 첫 슬롯의 슬롯 인덱스입니다. 웜업 기간이 있으면 관련이 있습니다.

## 예시

### 1. 클러스터에 대한 에포크 일정 가져오기

이 예시는 에포크 일정을 가져옵니다.

<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>

## 개발자 팁

* **정적 정보:** 에포크 일정은 클러스터의 생성 구성에 의해 결정되며 일반적으로 주요 네트워크 업그레이드나 다른 매개변수로 새 클러스터를 시작하지 않는 한 변경되지 않습니다.
* **메인넷 vs. 테스트넷/Devnet:** 에포크 일정은, 특히 슬롯 최대치와 웜업 매개변수는 Mainnet Beta, Testnet 및 Devnet 간에 크게 다를 수 있습니다. 관심 있는 특정 클러스터를 항상 조회하십시오.
* **웜업 기간:** 웜업 기간이 존재하면, 에포크는 처음 시작할 때 슬롯이 적고 점차 증가합니다. 웜업 에포크 길이에 대한 정확한 계산은 보통 32입니다.

이 가이드는 솔라나 클러스터 내 에포크의 기본 타이밍과 구조를 이해하기 위해 \[`getEpochSchedule`] RPC 메소드를 사용하는 데 필요한 정보를 제공합니다.
