# Exécuter un nœud validateur

## **Qu’est-ce qu’un nœud validateur ?**

Pour devenir un validateur de Chiliz Chain [validateur](https://docs.chiliz.com/chiliz-chain-2.0/validator), vous devez faire fonctionner un nœud validateur, soit avec votre propre matériel, soit via un partenaire.\
Un nœud est un serveur web configuré spécifiquement pour valider les transactions avant de les enregistrer sur Chiliz Chain.

{% hint style="info" %}
Notez que nous disposons d’une page de documentation plus générale sur l’exécution d’un nœud : [Exécuter un nœud Chiliz Chain](/fr-ai/develop/basics/connect-to-chiliz-chain/run-a-chiliz-chain-node.md)
{% endhint %}

## TL;DR

Pour exécuter un nœud validateur, vous devez définir les paramètres suivants :

```bash
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--mine \
--chiliz \ # pour Chiliz Mainnet. Utilisez --spicy pour Spicy Testnet.
--datadir=/datadir \
--password=/datadir/password.txt \
--allow-insecure-unlock \
--unlock=REPLACE_WITH_VALIDATOR_ADDRESS \
--syncmode=full \
--gcmode=archive \
--miner.etherbase=REPLACE_WITH_VALIDATOR_ADDRESS
--nodekeyhex=2668f377e69de_EXAMPLE_REPLACE_WITH_YOUR_VALUE_c88bea3e337446ed73 \
--nat=extip:140.250.140.250 \ # Ceci est seulement un exemple.
--verbosity=4
```

{% hint style="warning" %}
Ne l’utilisez pas tel quel !

Assurez-vous de mettre à jour le `unlock`, `miner.etherbase` et le `nodekeyhex` paramètre !
{% endhint %}

## Prérequis

Pour exécuter le nœud validateur de Chiliz Chain, vous devez avoir Docker Engine installé soit sur votre machine, soit sur votre serveur.\
Vous pouvez utiliser un fournisseur cloud comme Amazon Web Services, Google Cloud Platform ou Microsoft Azure, ou vous pouvez configurer votre propre serveur (voir ci-dessous).

Veuillez compléter les[ installation de Docker](https://docs.docker.com/engine/install/) avant de poursuivre.

### Exigences système

Vous aurez besoin d’un serveur dédié pour exécuter votre nœud validateur :

* CPU : au moins 2 cœurs CPU.
* Mémoire : au moins 4 Go de RAM.
* Disque : utilisez un disque SSD pour des performances optimales.
  * Nous recommandons d’avoir au moins 300 Go d’espace disque libre pour synchroniser avec la chaîne.
* Bande passante réseau : au moins 10 Gbps.

## Images Docker préconstruites

Consultez ou utilisez les images Docker préconstruites depuis le [dépôt public Chiliz Chain 2.0](https://hub.docker.com/repository/docker/chilizchain/ccv2-geth) sur Docker Hub. Notez que vous devez disposer d’un compte Docker Hub pour accéder au dépôt.

## Lancement d’un nœud validateur et démarrage de la synchronisation

Le point de départ recommandé pour exécuter un nœud validateur Chiliz Chain est d’utiliser le volume de données monté. Si cette méthode est utilisée pour recréer un conteneur Docker, les données sont stockées dans le répertoire et peuvent facilement être réutilisées ou clonées vers un autre validateur.

{% hint style="info" %}
En tant que fork d’Ethereum, Chiliz Chain s’appuie sur [Geth](https://geth.ethereum.org/) pour ses serveurs de nœuds.

Go-ethereum (alias Geth) est un client Ethereum construit en Go. Faire fonctionner Geth aux côtés d’un client de consensus transforme un ordinateur en un nœud. C’est donc une partie essentielle de votre nœud.

Nous avons forké Geth en `ccv2-geth`, comme vous le verrez ci-dessous.
{% endhint %}

### Créer l’adresse du validateur

Créez le nœud validateur avec la commande suivante :

```sh
docker run --rm -ti \
-v $(pwd)/keystore:/root/.ethereum/keystore/ \
chilizchain/ccv2-geth:latest \
--chiliz \  # pour Chiliz Mainnet. Utilisez --spicy pour Spicy Testnet.
account new
```

Vous devrez saisir un mot de passe pour le fichier de clé secrète.

* **Adresse publique de la clé :** Pendant l’exécution du validateur, cette adresse sera utilisée pour définir le `--unlock` paramètre.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # pour Chiliz Mainnet. Utilisez --spicy pour Spicy Testnet.
...
--unlock=REPLACE_WITH_VALIDATOR_ADDRESS # Ceci est seulement un exemple.
```

* **Chemin du fichier de clé secrète :** Ce fichier doit être déplacé dans le répertoire "keystore" à l’intérieur du datadir `$(pwd)/my-datadir` que vous avez créé aux étapes précédentes, de sorte que le chemin final du fichier sera\
  `"$(pwd)/my-datadir/keystore/UTC–(TIMESTAMP)-(ADDRESS)"`.\
  **NE** modifiez PAS le nom du fichier.
* **Mot de passe :** Le mot de passe que vous avez saisi lors de l’exécution de la commande précédente doit être stocké dans un fichier :\
  `$(pwd)/my-datadir/password.txt`\
  Ce fichier sera utilisé pour définir le `--password` lors de l’exécution du nœud validateur.\
  N’oubliez pas que tous les fichiers dans le chemin de l’hôte `$(pwd)/my-datadir` seront situés dans le conteneur dans le `/datadir` répertoire ; c’est pourquoi le paramètre du mot de passe doit être défini comme dans l’exemple suivant :

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # pour Chiliz Mainnet. Utilisez --spicy pour Spicy Testnet.
...
--password=/datadir/password.txt
...

```

Il est très important de garder les recommandations suivantes à l’esprit :

* Vous pouvez partager votre **adresse** publique avec n’importe qui. Les autres en ont besoin pour interagir avec vous.
* Vous devez **NE JAMAIS PARTAGER** la clé secrète avec qui que ce soit ! La clé contrôle l’accès à vos fonds !
* Vous devez **SAUVEGARDEZ** votre fichier de clé ! Sans la clé, il est impossible d’accéder aux fonds du compte !
* Vous devez **N’OUBLIEZ PAS** votre mot de passe ! Sans le mot de passe, il est impossible de déchiffrer la clé !

### Générer la clé du nœud validateur

*Cette section est facultative.*

Nous recommandons de générer une chaîne hexadécimale aléatoire pour le nœud.\
C’est utile pour la traçabilité dans les journaux et pour éviter les problèmes de peering avec la chaîne.

Pour ce faire, vous pouvez utiliser <https://www.browserling.com/tools/random-hex> et générer une clé hexadécimale de 64 caractères par nœud.\
Lors de l’exécution d’un nœud validateur, vous pouvez définir `--nodekeyhex` avec cette valeur. Cela garantira que lorsque vous redémarrerez le nœud, il aura la même adresse de nœud (appelée "adresse enode") et facilitera le débogage ou la recherche de panne à l’avenir.

```bash
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # pour Chiliz Mainnet. Utilisez --spicy pour Spicy Testnet.
...
--nodekeyhex=2668f377e69de_EXAMPLE_REPLACE_WITH_YOUR_VALUE_c88bea3e337446ed73 # Ceci est seulement un exemple.
...
```

### Définir le mécanisme de mappage de ports NAT de Geth

De Geth `--nat` le paramètre comporte les options suivantes : `any`, `none`, `upnp`, `pmp`, `pmp:<IP>` , et `extip:<IP>`. La valeur par défaut est `any`. [Consultez la documentation de Geth pour plus d’informations](https://geth.ethereum.org/docs/fundamentals/command-line-options).

Nous recommandons d’utiliser l’ `extip:<IP>` option, où `<IP>` est l’adresse IPv4 publique où le validateur est lancé.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # pour Chiliz Mainnet. Utilisez --spicy pour Spicy Testnet.
...
--nat=extip:140.250.140.250 # Ceci est seulement un exemple.
...
```

### Définir la verbosité

Pour un dépannage plus approfondi, le paramètre de verbosité des journaux de Geth `--verbosity` peut être défini comme suit :

* 0=silencieux
* 1=erreur
* 2=avertissement
* 3=info
* 4=débogage
* 5=détail

La valeur par défaut pour est 3.\
Nous vous recommandons d’utiliser 4.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # pour Chiliz Mainnet. Utilisez --spicy pour Spicy Testnet.
...
--verbosity=4 # Ceci est seulement un exemple.
...
```

## Changer le propriétaire d’un nœud

Il peut arriver un moment où vous ne souhaitez plus faire fonctionner un nœud validateur. Vous pourriez alors vouloir transmettre le nœud à quelqu’un d’autre.

Dans ce cas, vous pouvez suivre ces étapes :

1. Connectez votre portefeuille au [Chiliz Staking dApp](https://governance.chilizchain.com/staking).
2. Cliquez sur le bouton "Changer le propriétaire".

<figure><img src="/files/a406089e49a3a310ac3cc38ccaba33577f35fa83" alt=""><figcaption></figcaption></figure>

3. Dans la fenêtre modale, indiquez l’adresse actuelle du nœud dont vous souhaitez changer le propriétaire, ainsi que sa nouvelle adresse (fournie par le nouveau propriétaire).

<figure><img src="/files/04b66a570e4cb64f09cd23f7979ea55c617bcfd5" alt="" width="358"><figcaption></figcaption></figure>

Une fois soumis, le changement sera appliqué directement.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chiliz.com/fr-ai/learn/about-validators/running-a-validator-node.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
