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

# getSlotLeaders 사용 방법

> getSlotLeaders 사용 사례, 코드 예제, 요청 매개변수, 응답 구조 및 팁을 알아보세요.

[`getSlotLeaders`](https://www.helius.dev/docs/api-reference/rpc/http/getslotleaders) RPC 메서드를 사용하면 특정 슬롯 범위의 리더로 예정된 검증인들의 공개 키 목록을 가져올 수 있습니다. 이는 다가오는 블록 생성자 순서를 이해하는 데 유용할 수 있습니다.

## 일반적인 사용 사례

* **근시일 내 블록 생성자 예측:** 제한된 범위의 슬롯에서 블록을 생성할 것으로 예상되는 검증인을 식별합니다.
* **리더 분포 분석:** 에포크의 일부 구간에 대한 리더 순서를 관찰합니다.
* **네트워크 분석 도구:** 네트워크 행동을 모니터링하거나 분석하는 도구는 이를 사용하여 리더 패턴을 이해할 수 있습니다.

## 요청 매개변수

1. **`startSlot`** (`u64`): (필수) 리더 스케줄을 가져올 첫 번째 슬롯(포함).
2. **`limit`** (`u64`): (필수) 리더를 가져올 연속 슬롯의 수. 제한은 1에서 5,000 사이여야 합니다.

## 응답 구조

JSON-RPC 응답의 `result` 필드는 base-58로 인코딩된 문자열 배열입니다. 각 문자열은 검증인의 공개 키(신원)입니다. 배열의 공개 키 순서는 요청한 범위의 각 슬롯에 대한 리더에 해당하며 `startSlot`에서 시작합니다.

**예시 응답 (3 슬롯 제한):**

```json theme={"system"}
{
  "jsonrpc": "2.0",
  "result": [
    "ValidatorPubkey1XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "ValidatorPubkey2XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "ValidatorPubkey3XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  ],
  "id": 1
}
```

## 예시

### 1. 특정 범위에 대한 슬롯 리더 가져오기

이 예시는 지정된 슬롯에서 시작하여 5개의 슬롯에 대한 리더를 가져옵니다.

<CodeGroup>
  ```bash cURL theme={"system"}
  # Replace <api-key> with your Helius API key
  # Replace STARTING_SLOT with a recent or future slot number
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getSlotLeaders",
      "params": [
        180000000, 
        5          
      ]
    }'
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  // Replace <api-key> with your Helius API key
  const { Connection } = require('@solana/web3.js');

  async function getUpcomingSlotLeaders() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    const startSlot = 180000000; // Replace with a recent or future slot number
    const limit = 5;

    try {
      const leaders = await connection.getSlotLeaders(startSlot, limit);
      console.log(`Slot leaders starting from slot ${startSlot} (limit ${limit}):`);
      leaders.forEach((leader, index) => {
        console.log(`  Slot ${startSlot + index}: ${leader}`);
      });
    } catch (error) {
      console.error('Error fetching slot leaders:', error);
    }
  }

  getUpcomingSlotLeaders();
  ```
</CodeGroup>

## 개발자 팁

* **제한:** `limit` 매개변수는 최대 5,000까지 몇 개의 연속적인 슬롯 리더를 반환할지 지정합니다. 이는 에포크 내에서 상당한 수의 슬롯을 미리 볼 수 있음을 의미합니다.
* **에포크 경계:** 리더 스케줄은 전체 에포크에 대해 결정되며, [슬롯, 블록 및 에포크](https://www.helius.dev/blog/solana-slots-blocks-and-epochs)에 대한 가이드에서 자세히 설명됩니다. 이 방법으로 해당 스케줄의 일부를 쿼리할 수 있습니다. 범위가 에포크 경계를 넘을 경우, 반환되는 리더는 `startSlot`가 위치한 에포크의 스케줄을 기준으로 하며, 제공한 제한까지 또는 RPC 노드가 해당 호출에 대해 더 이상 예측하지 않는 경우 알려진 에포크의 끝까지 기반합니다.
* **미래 슬롯:** 미래 슬롯에 대한 리더를 요청할 수 있습니다. RPC 노드는 해당 에포크의 현재 리더 스케줄에 기반하여 예정된 리더를 반환합니다.
* **정확성:** 리더 스케줄은 에포크 동안 고정되어 있으므로, 특별한 네트워크 상황이나 검증인 세트에 대한 변경 사항이 있어 후속 에포크 계산에 영향을 미치지 않는 한, 반환되는 리더는 일반적으로 정확합니다.
* **`getLeaderSchedule`과의 구분:** `getSlotLeaders`가 범위에 대한 직접적인 목록을 제공하는 반면, `getLeaderSchedule`는 해당 에포크 내 모든 할당 슬롯에 대한 검증인 신원 맵을 제공하는 전체 스케줄을 제공합니다. `getSlotLeaders`는 특정, 제한된 범위에 대한 연속적인 목록이 필요할 때 더 직접적입니다.

다가오는 슬롯의 확정된 구간에 대한 블록 생성자 순서가 필요할 때 `getSlotLeaders`를 사용하세요.

## 관련 메서드

<CardGroup cols={2}>
  <Card title="getLeaderSchedule" href="/docs/ko/api-reference/rpc/http/getleaderschedule">
    에포크에 대한 전체 리더 스케줄 가져오기
  </Card>

  <Card title="getSlotLeader" href="/docs/ko/api-reference/rpc/http/getslotleader">
    현재 슬롯 리더 가져오기
  </Card>
</CardGroup>
