Exécuter un noeud validateur

Configuration d'un nœud validateur Chiliz Chain

Qu'est-ce qu'un nœud validateur ?

Pour devenir un validateur de Chiliz Chain, vous devez disposer d'une configuration matérielle spécifique et être capable d'exécuter un nœud validateur. Un nœud est un système informatique configuré spécifiquement pour valider les transactions avant de les valider sur la Chiliz Chain.

Lancer le validateur

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

## TL;DR vous devez exécuter la commande suivante (assurez-vous de mettre à jour le paramètre nodkeyhex !)

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--mine \
--chiliz \
--datadir=/datadir \
--password=/datadir/password.txt \
--allow-insecure-unlock \
--unlock=f9100d364b45a8fdbd178ed1edfe632cc7eb2ecc \
--syncmode=full \
--gcmode=archive \
--miner.gastarget=30000000 \
--miner.gaslimit=40000000 \
--miner.gasprice=5000000000 \
--nodekeyhex=2668f377e69de_EXAMPLE_REPLACE_WITH_YOUR_VALUE_c88bea3e337446ed73 \
--nat=extip:140.250.140.250 \
--verbosity=4

Prérequis

Pour exécuter le nœud validateur de Chiliz Chain, vous devez avoir le moteur Docker installé sur votre machine ou votre serveur.

Par conséquent, veuillez terminer l'installation de Docker avant de continuer.

Configuration système requise

Vous aurez besoin d'un serveur dédié pour exécuter votre nœud validateur. Ce serveur doit disposer d'au moins 4 Go de RAM, de 2 cœurs de processeur et d'un lecteur à état solide (SSD) pour des performances optimales. Il est recommandé de disposer d'au moins 150 Go d'espace disque libre pour synchroniser avec la chaîne. Vous pouvez utiliser un fournisseur de cloud comme Amazon Web Services, Google Cloud Platform ou Microsoft Azure, ou vous pouvez configurer votre propre serveur.

Images Docker pré-construites

Consultez ou utilisez les images Docker pré-construites à partir du référentiel public de Chiliz Chain 2.0 sur Docker Hub pour Mainnet.

Lancez un validateur et démarrez la synchronisation

Le point de départ recommandé pour exécuter un nœud validateur de Chiliz Chain est avec 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 sur un autre validateur.

Créez un répertoire

Créez un répertoire et pointez dessus dans le paramètre -v dans la commande suivante :

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-validator \
-p 30303:30303 \
chilizchain/ccv2-geth:latest ...

Créez l'adresse du validateur

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

docker run --rm -ti \
-v $(pwd)/keystore:/root/.ethereum/keystore/ \
chilizchain/ccv2-geth:latest \
account new

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

Le résultat de la commande précédente sera :

  • Adresse publique de la clé : En exécutant le validateur, cette adresse sera utilisée pour définir le paramètre --unlock.

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
...
--unlock=F9100d364b45a8fdbd178ed1edfe632cc7eb2ecc # example
  • 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éé lors des étapes précédentes, de sorte que le chemin final du fichier soit "$(pwd)/my-datadir/keystore/UTC–(TIMESTAMP)-(ADRESSE)". NE changez PAS le nom du fichier.

  • Mot de passe : Le mot de passe que vous avez tapé 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 paramètre --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 répertoire /datadir, c'est pourquoi le paramètre de mot de passe doit être défini comme dans l'exemple suivant :

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
...
--password=/datadir/password.txt
...

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

  • Vous pouvez partager votre adresse publique avec n'importe qui. Les autres en ont besoin pour interagir avec vous.

  • Vous ne devez JAMAIS partager la clé secrète avec qui que ce soit ! La clé contrôle l'accès à vos fonds !

  • Vous devez SAUVEGARDER votre fichier de clé ! Sans la clé, il est impossible d'accéder aux fonds du compte !

  • Vous devez SE SOUVENIR de 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.

Il est recommandé de générer une chaîne hexadécimale aléatoire pour le nœud. Cela est utile pour la traçabilité dans les journaux et pour éviter les problèmes de liaison 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 avec 64 caractères par nœud.

Lorsque vous exécutez un nœud validateur, vous pouvez définir --nodekeyhex avec cette valeur. Cela garantira que lorsque vous redémarrez le nœud, il aura la même adresse de nœud (appelée "adresse enode") et cela facilitera les futures opérations de débogage ou de recherche de pannes.

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
cchilizchain/ccv2-geth:latest \
...
--nodekeyhex=2668f377e69de_EXAMPLE_REPLACE_WITH_YOUR_VALUE_c88bea3e337446ed73 # example
...

Mécanisme de mapping de port NAT

Selon la documentation de Geth, le paramètre --nat dispose de différentes options : any, none, upnp, pmp, et extip:<IP>. La valeur par défaut est any.

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

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
...
--nat=extip:140.250.140.250 # example
...

Définir la verbosité

Pour un dépannage plus approfondi, la verbosité des journaux peut être réglée comme suit :

  • 0=silencieux

  • 1=erreur

  • 2=avertissement

  • 3=info

  • 4=débogage

  • 5=détail

La valeur par défaut du paramètre --verbosity est 3.

Nous recommandons d'utiliser 4.

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
...
--verbosity=4 #example
...

Last updated