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

# Comment utiliser getSlotLeaders

> Découvrez les cas d'utilisation de getSlotLeaders, des exemples de code, des paramètres de requête, la structure des réponses et des astuces.

La méthode RPC [`getSlotLeaders`](https://www.helius.dev/docs/api-reference/rpc/http/getslotleaders) vous permet de récupérer une liste de clés publiques pour les validateurs programmés pour être leaders sur une plage spécifique de créneaux. Cela peut être utile pour comprendre la séquence à venir des producteurs de blocs.

## Cas d'utilisation courants

* **Prédiction des producteurs de blocs à court terme :** Identifiez quels validateurs devraient produire des blocs dans un avenir proche pour une plage limitée de créneaux.
* **Analyse de la distribution des leaders :** Observez la séquence des leaders pour un segment d'une époque.
* **Outils d'analyse du réseau :** Les outils qui surveillent ou analysent le comportement du réseau peuvent utiliser cela pour comprendre les modèles de leaders.

## Paramètres de requête

1. **`startSlot`** (`u64`): (Obligatoire) Le premier créneau (inclus) pour lequel récupérer le calendrier des leaders.
2. **`limit`** (`u64`): (Obligatoire) Le nombre de créneaux consécutifs pour lesquels récupérer les leaders. La limite doit être comprise entre 1 et 5 000.

## Structure de la réponse

Le champ `result` de la réponse JSON-RPC est un tableau de chaînes encodées en base-58. Chaque chaîne est la clé publique (identité) d'un validateur. L'ordre des clés publiques dans le tableau correspond au leader pour chaque créneau de la plage demandée, à partir de `startSlot`.

**Exemple de réponse (pour une limite de 3 créneaux):**

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

## Exemples

### 1. Obtenir les leaders de créneaux pour une plage spécifique

Cet exemple récupère les leaders pour 5 créneaux, à partir d'un créneau spécifié.

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

## Conseils pour les développeurs

* **Limite :** Le paramètre `limit` spécifie combien de leaders consécutifs de créneaux retourner, jusqu'à un maximum de 5 000. Cela signifie que vous pouvez prévoir un nombre important de créneaux au sein d'une époque.
* **Limites des époques :** Le calendrier des leaders est déterminé pour une époque entière, comme détaillé dans notre guide sur [Les créneaux, les blocs et les époques](https://www.helius.dev/blog/solana-slots-blocks-and-epochs). Cette méthode vous permet de consulter des parties de ce calendrier. Si votre plage traverse une limite d'époque, les leaders retournés seront toujours basés sur le calendrier de l'époque dans laquelle réside `startSlot`, jusqu'à la limite que vous fournissez ou jusqu'à la fin du calendrier connu de cette époque si le nœud RPC ne prévoit pas plus pour cet appel.
* **Créneaux futurs :** Vous pouvez demander des leaders pour des créneaux futurs. Le nœud RPC retournera les leaders programmés selon le calendrier actuel des leaders pour l'époque concernée.
* **Précision :** Le calendrier des leaders est fixe pour une époque, donc les leaders retournés sont généralement précis sauf en cas de circonstances exceptionnelles du réseau ou de changements dans l'ensemble des validateurs qui pourraient affecter les calculs des époques ultérieures.
* **Distinction par rapport à `getLeaderSchedule` :** Tandis que `getSlotLeaders` vous donne une liste directe pour une plage, `getLeaderSchedule` fournit le calendrier complet pour une époque entière, mappant les identités des validateurs à tous leurs créneaux assignés à l'intérieur de cette époque. `getSlotLeaders` est plus direct si vous avez seulement besoin d'une liste séquentielle pour une plage spécifique et limitée.

Utilisez `getSlotLeaders` lorsque vous avez besoin de connaître la séquence des producteurs de blocs pour un segment défini de créneaux à venir.

## Méthodes connexes

<CardGroup cols={2}>
  <Card title="getLeaderSchedule" href="/docs/fr/api-reference/rpc/http/getleaderschedule">
    Obtenez le calendrier complet des leaders pour une époque
  </Card>

  <Card title="getSlotLeader" href="/docs/fr/api-reference/rpc/http/getslotleader">
    Obtenez le leader du créneau actuel
  </Card>
</CardGroup>
