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

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

La méthode RPC [`getSlot`](https://www.helius.dev/docs/api-reference/rpc/http/getslot) renvoie le slot actuel que le nœud RPC considère avoir atteint un niveau d'engagement spécifique. C'est une méthode fondamentale pour comprendre l'état actuel de la blockchain tel que perçu par le nœud.

## Cas d'utilisation courants

* **Obtention de l'avancement actuel du réseau :** Déterminez le slot le plus récent traité ou confirmé par le nœud.
* **Vérification de la synchronisation des nœuds :** Comparer le slot de différents nœuds peut donner une indication de leur état de synchronisation.
* **Horodatage des opérations :** Utiliser le slot actuel comme point de référence pour les opérations ou pour comprendre l'âge de certaines données.
* **Entrée pour d'autres appels RPC :** Certaines méthodes RPC peuvent utiliser un numéro de slot comme point de référence.

## Paramètres de requête

Cette méthode accepte un objet de configuration optionnel en tant que premier paramètre :

1. **`options`** (`object`, optionnel) : Un objet de configuration optionnel avec les champs suivants :
   * **`commitment`** (`string`, optionnel) : Spécifie le [niveau d'engagement](https://www.helius.dev/blog/solana-commitment-levels) pour la requête. Les valeurs prises en charge sont `finalized`, `confirmed`, ou `processed`. Si omis, l'engagement par défaut du nœud RPC est utilisé (généralement `finalized`).
     * `processed` : Le nœud interrogera son slot le plus récent. Notez que ce slot peut ne pas être confirmé par le cluster et pourrait potentiellement être ignoré.
     * `confirmed` : Le nœud interrogera le slot le plus récent qui a été voté par une supermajorité du cluster.
     * `finalized` : Le nœud interrogera le slot le plus récent confirmé par la supermajorité du cluster comme ayant atteint le verrouillage maximal (ne peut pas être annulé).
   * **`minContextSlot`** (`number`, optionnel) : Le slot minimum auquel la requête peut être évaluée. Cela définit le slot minimum pour le contexte du nœud. Si l'état du nœud est antérieur à ce slot, il peut retourner une erreur ou un numéro de slot qui reflète son état actuel (plus ancien) par rapport à ce minimum.

## Structure de la réponse

Le champ `result` de la réponse JSON-RPC est un seul `u64` (entier non signé de 64 bits) représentant le numéro de slot actuel selon le niveau d'engagement spécifié.

**Exemple de réponse :**

```json theme={"system"}
{
  "jsonrpc": "2.0",
  "result": 123456789,
  "id": 1
}
```

## Exemples

### 1. Obtenir le slot actuel (Engagement par défaut)

Cet exemple récupère le slot actuel en utilisant le niveau d'engagement par défaut du nœud (généralement `finalized`).

<CodeGroup>
  ```bash cURL theme={"system"}
  # Replace <api-key> with your Helius API key
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getSlot"
    }'
  ```

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

  async function getCurrentSlot() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const slot = await connection.getSlot();
      console.log('Current slot (default commitment):', slot);
    } catch (error) {
      console.error('Error fetching current slot:', error);
    }
  }

  getCurrentSlot();
  ```
</CodeGroup>

### 2. Obtenir le slot actuel avec un engagement spécifique

Cet exemple récupère le slot actuel qui a atteint un engagement `confirmed`.

<CodeGroup>
  ```bash cURL theme={"system"}
  # Replace <api-key> with your Helius API key
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getSlot",
      "params": [
        {
          "commitment": "confirmed"
        }
      ]
    }'
  ```

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

  async function getConfirmedSlot() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const slot = await connection.getSlot('confirmed');
      console.log('Current slot (confirmed commitment):', slot);
      // Note: For @solana/web3.js v1.30.0 and later, you can pass commitment directly.
      // For older versions or more complex options, use an object:
      // const slot = await connection.getSlot({ commitment: 'confirmed' });
    } catch (error) {
      console.error('Error fetching confirmed slot:', error);
    }
  }

  getConfirmedSlot();
  ```
</CodeGroup>

## Conseils pour les développeurs

* **L'engagement est important :** Le numéro de slot retourné dépend fortement du niveau `commitment` spécifié. Référez-vous aux [niveaux d'engagement Solana](https://www.helius.dev/blog/solana-commitment-levels) pour des informations détaillées. `processed` sera le slot le plus élevé (le plus récent) que le nœud connaît, tandis que `finalized` sera un slot plus ancien confirmé par l'ensemble du réseau. Choisissez le niveau d'engagement approprié en fonction de vos besoins en matière de finalité des données.
* **Variabilité des nœuds :** Différents nœuds RPC peuvent renvoyer des numéros de slot légèrement différents pour le même niveau d'engagement en raison des délais de propagation du réseau ou de leur propre état de traitement. Cela est particulièrement vrai pour les niveaux `processed` et `confirmed`.
* **`minContextSlot` :** Ce paramètre garantit que le nœud traitant votre requête a atteint au moins `minContextSlot`. Si le nœud est derrière ce slot, le comportement peut varier (par exemple, une erreur ou le slot le plus élevé actuel du nœud qui est inférieur à `minContextSlot`). Il est généralement utilisé dans des scénarios avancés où vous devez garantir qu'une requête est effectuée par rapport à un état suffisamment récent.

`getSlot` est une méthode simple mais essentielle pour interagir avec la blockchain Solana et comprendre sa progression actuelle.
