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

# voteSubscribe

> voteSubscribe diffuse les votes Solana au fur et à mesure qu'ils sont observés dans le gossip. Ces votes sont pré-consensus, il n'y a donc aucune garantie qu'ils entreront jamais dans le registre.

<Note>
  Cet abonnement est instable et uniquement disponible si le validateur a été démarré avec le drapeau `--rpc-pubsub-enable-vote-subscription`. Le format de cet abonnement peut changer à l'avenir.
</Note>

<Warning>
  Ceci est une méthode RPC instable que **Helius ne supporte pas**. Cette documentation est fournie à titre de référence uniquement.
</Warning>

## Points de terminaison

Les Websockets sont disponibles sur mainnet et devnet avec les URL suivantes :

* **Mainnet** `wss://mainnet.helius-rpc.com/?api-key=<api-key>`
* **Devnet** `wss://devnet.helius-rpc.com/?api-key=<api-key>`

<Note>Les Websockets ont une minuterie d'inactivité de 10 minutes ; la mise en œuvre de vérifications de santé et l'envoi de pings chaque minute est fortement recommandée pour garder la connexion websocket active.</Note>

## Autorisations

<ParamField query="api-key" type="string" required>
  Votre clé API Helius. Vous pouvez en obtenir une gratuitement dans le [dashboard](https://dashboard.helius.dev/api-keys).
</ParamField>

## Corps de la requête

<ParamField body="params" type="array">
  <Expandable title="properties" defaultOpen>
    <ParamField body="none" type="null">
      Aucun paramètre requis.
    </ParamField>
  </Expandable>
</ParamField>

## Réponse

<ResponseField name="result" type="integer">
  ID de l'abonnement (nécessaire pour se désabonner)
</ResponseField>

## Format de la notification

La notification sera un objet avec les champs suivants :

* `hash: <string>` - Le hash du vote
* `slots: <array>` - Les slots couverts par le vote, sous forme de tableau d'entiers u64
* `timestamp: <i64|null>` - L'horodatage du vote
* `signature: <string>` - La signature de la transaction qui contenait ce vote
* `votePubkey: <string>` - La clé publique du compte de vote, sous forme de chaîne encodée en base-58

<RequestExample>
  ```json Request theme={"system"}
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "voteSubscribe"
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={"system"}
  {
    "jsonrpc": "2.0",
    "result": 0,
    "id": 1
  }
  ```

  ```json Notification theme={"system"}
  {
    "jsonrpc": "2.0",
    "method": "voteNotification",
    "params": {
      "result": {
        "hash": "8Rshv2oMkPu5E4opXTRyuyBeZBqQ4S477VG26wUTFxUM",
        "slots": [1, 2],
        "timestamp": null
      },
      "subscription": 0
    }
  }
  ```
</ResponseExample>
