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

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

La méthode RPC [`getEpochInfo`](https://www.helius.dev/docs/api-reference/rpc/http/getepochinfo) renvoie des informations sur l'époque actuelle. Cela peut être utile pour comprendre l'état actuel du réseau, la progression dans l'époque en cours et quand la prochaine époque pourrait commencer. Pour mieux comprendre comment [les époques, les slots et les blocs](https://www.helius.dev/blog/solana-slots-blocks-and-epochs) fonctionnent ensemble sur Solana, consultez notre article détaillé.

## Cas d'utilisation courants

* **Suivi de la progression de l'époque :** Suivez l'index de slot actuel dans l'époque et le nombre total de slots dans l'époque pour estimer le temps restant.
* **Analyse de l'état du réseau :** Obtenez le numéro de l'époque actuelle, la hauteur du bloc et le nombre de transactions traitées dans l'époque actuelle.
* **Vérifications de synchronisation :** Vérifiez si un nœud est raisonnablement synchronisé avec le réseau en comparant ses informations d'époque.

## Paramètres de requête

La méthode `getEpochInfo` peut éventuellement prendre un objet de configuration avec les paramètres suivants :

* **`commitment`** (string, optional) : Spécifie le [niveau d'engagement](https://www.helius.dev/blog/solana-commitment-levels) à utiliser lors de la requête au grand livre.
  * `finalized` : Le nœud interrogera le bloc le plus récent confirmé par la supermajorité du cluster comme ayant atteint le blocage maximum.
  * `confirmed` : Le nœud interrogera le bloc le plus récent qui a été voté par une supermajorité du cluster.
  * `processed` : Le nœud interrogera son bloc le plus récent. Notez que le bloc peut ne pas être complet.
  * Si non fourni, l'engagement par défaut est `finalized`.
* **`minContextSlot`** (number, optional) : Le slot minimum auquel la requête peut être évaluée. Cela peut être utilisé pour s'assurer que la réponse provient d'un état suffisamment récent.

## Structure de la réponse

Le champ `result` de la réponse JSON-RPC sera un objet contenant les champs suivants :

* **`absoluteSlot`** (u64) : Le numéro de slot absolu actuel.
* **`blockHeight`** (u64) : La hauteur actuelle du bloc.
* **`epoch`** (u64) : Le numéro de l'époque actuelle.
* **`slotIndex`** (u64) : Le slot actuel par rapport au début de l'époque actuelle.
* **`slotsInEpoch`** (u64) : Le nombre total de slots dans l'époque actuelle.
* **`transactionCount`** (u64 | null) : Le nombre total de transactions traitées dans l'époque actuelle. Peut être `null` si les données ne sont pas disponibles.

## Exemples

### 1. Obtenir les informations de l'époque actuelle (aucun paramètre)

Cet exemple récupère des informations sur l'époque actuelle en utilisant l'engagement par défaut.

<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": "getEpochInfo"
    }'
  ```

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

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

  getCurrentEpochInfo();
  ```
</CodeGroup>

### 2. Obtenir les informations de l'époque actuelle avec un engagement 'confirmed'

Cet exemple récupère les informations d'époque en utilisant un engagement `confirmed`.

<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": "getEpochInfo",
      "params": [
        {
          "commitment": "confirmed"
        }
      ]
    }'
  ```

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

  async function getConfirmedEpochInfo() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const epochInfo = await connection.getEpochInfo('confirmed'); // Or connection.getEpochInfo({ commitment: 'confirmed' });
      console.log(JSON.stringify(epochInfo, null, 2));
    } catch (error) {
      console.error('Error fetching confirmed epoch information:', error);
    }
  }

  getConfirmedEpochInfo();
  ```
</CodeGroup>

## Conseils pour les développeurs

* **Niveaux d'engagement :** Le choix de `commitment` peut affecter l'actualité et la finalité des données. `processed` est le plus rapide mais le moins sûr, tandis que `finalized` est le plus sûr mais peut avoir un léger retard. Apprenez-en plus sur les [niveaux d'engagement](https://www.helius.dev/blog/solana-commitment-levels) pour des informations détaillées.
* **Disponibilité de `transactionCount` :** Le champ `transactionCount` pourrait être `null` si le nœud n'a pas cette information facilement disponible ou si elle n'est pas suivie pour le niveau d'engagement spécifique.
* **Longueur de l'époque :** Le nombre de `slotsInEpoch` peut varier. Vous pouvez utiliser `getEpochSchedule` pour obtenir plus de détails sur le calendrier de l'époque.

Ce guide fournit les informations nécessaires pour utiliser la méthode RPC `getEpochInfo` afin de récupérer des détails sur l'époque actuelle sur le réseau Solana.

## Méthodes associées

<CardGroup cols={2}>
  <Card title="getEpochSchedule" href="/docs/fr/api-reference/rpc/http/getepochschedule">
    Obtenez des détails sur le calendrier de l'époque
  </Card>

  <Card title="getSlot" href="/docs/fr/api-reference/rpc/http/getslot">
    Obtenez le numéro de slot actuel
  </Card>
</CardGroup>
