Exécuter un nœud sur Chiliz Chain

Lancer, créer, connecter et déboguer un nœud pour se synchroniser avec Chiliz Chain

L'exploitation de votre propre nœud Chiliz Chain offre un contrôle accru, une meilleure confidentialité et une fiabilité renforcée, mais nécessite davantage de compétences techniques et de ressources par rapport à l'utilisation d'un point d'extrémité RPC existant.

Cela vous permet d'effectuer des transactions et de communiquer avec les contrats intelligents sur Chiliz Chain.

Notez que nous avons une page dédié à la création d'un noeud de Validateur : Gérer un noeud validateur

Prérequis

Pour exécuter le nœud Chiliz Chain, vous devez avoir Docker installé, soit sur votre machine, soit sur votre serveur. Veuillez donc terminer l'installation de Docker avant de continuer.

Images Docker préconstruites

Vous pouvez utiliser les images Docker préconstruites disponibles dans le répertoire public de Chiliz Chain 2.0 sur Docker Hub pour Chiliz Chain 2.0.

Lancer un nœud et commencer la synchronisation

Le point de départ recommandé pour exécuter un nœud 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 vers un autre nœud.

Étape 1 : Créer un répertoire

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

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 8545:8545 \
-p 8546:8546 \
chilizchain/ccv2-geth:latest \
--chiliz # for Chiliz Mainnet. Use --spicy for Spicy Testnet.
--datadir=/datadir \
--ipcdisable

Étape 2 : Connecter le client

Pour connecter un client à un nœud, vous devez activer les serveurs RPC HTTP et/ou WebSocket en spécifiant respectivement les groupes de paramètres --http et/ou --ws.

Par exemple :

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 8545:8545 \
-p 8546:8546 \
chilizchain/ccv2-geth:latest \
--chiliz \ # for Chiliz Mainnet. Use --spicy for Spicy Testnet.
--datadir=/datadir \
--ipcdisable \
--http \
--http.addr=0.0.0.0 \
--http.api=eth,net,web3,debug,txpool \
--http.port=8545 \
--http.corsdomain="*" \
--http.vhosts="*" \
--ws \
--ws.addr=0.0.0.0 \
--ws.api=eth,net,web3,debug,txpool \
--ws.port=8546 \
--ws.origins="*" \

Informations sur la maintenance du nœud

Changer la verbosité pour le débogage

Dans certains cas, vous pouvez vouloir augmenter la verbosité du nœud, c'est-à-dire lorsque vous devez déboguer soit le nœud lui-même, soit le client qui se connecte.

Pour cela, vous pouvez définir un paramètre --verbosity. Il peut accepter les options suivantes (la valeur par défaut est 3) :

  • 0=silent (silencieux)

  • 1=error (erreur)

  • 2=warn (avertissement)

  • 3=info (informations)

  • 4=debug (débogage)

  • 5=detail (détail)

Arrêter le nœud et nettoyer

Si vous avez lancé le nœud en utilisant l'une des commandes ci-dessus, alors votre processus de nœud continue de fonctionner au premier plan. Pour arrêter ce processus, appuyez sur CTRL+C.

Exécutez la commande suivante pour supprimer le conteneur Docker :

docker rm ccv2-node

Supprimer le répertoire

Exécutez la commande suivante pour supprimer un répertoire :

rm my-datadir

Mettre à jour votre nœud

L'équipe de Chiliz Chain s'efforce de garder Chiliz Chain sécurisée et moderne, et nous effectuerons donc de temps en temps des hard forks chaque année, comme le hard fork Dragon8.

En cas de hard fork, votre nœud ne sera plus synchronisé avec le réseau. Il est donc important de suivre nos annonces et de mettre à jour votre nœud.

Pour garder votre nœud à jour, vous pouvez suivre les étapes suivantes.

Si vous utilisez Docker :

  1. Assurez-vous d'arrêter et de supprimer votre conteneur Docker existant tout en préservant les volumes qui contiennent votre base de données.

Si vous utilisez votre propre binaire :

  1. Construisez à partir de là avec votre ensemble d'outils.

Exécution du noeud en mode Archive

Pour exécuter un noeud d'archivage, vous devez ajouter les deux paramètres suivants à l'appel ccv2-geth présenté ci-dessus :

--syncmode=full \
--gcmode=archive \

Exécution d'un nœud Chiliz Chain à partir d'un snapshot ou d'une sauvegarde

Pour accélérer le processus de synchronisation de votre nœud Chiliz Chain, vous pouvez vous appuyer sur un instantané - une copie récente (ou archive/sauvegarde) du répertoire de données de la blockchain (datadir). Cette méthode permet à votre nœud d'être opérationnel plus rapidement qu'une synchronisation à partir de zéro.

Nous recommandons de conserver des snapshots pour la configuration de nouveaux nœuds. L'écrasement d'un répertoire de données existant par un snapshot peut entraîner des incohérences.

Snapshots disponibles

Chaque réseau a son propre snapshot :

Nettoyer les données existantes

Si vous avez l'intention d'appliquer un instantané à un nœud existant, veillez à supprimer les répertoires et fichiers suivants dans votre datadir avant de redémarrer le nœud :

rm -rf blobpool transactions.rlp LOCK lightchaindata triecache

Cette étape permet d'éviter les conflits potentiels liés aux données résiduelles.

Etapes pour éxecuter un noeuf depuis un snapshot:

  1. Créez un dossier Data:

mkdir -p ~/chiliz-node/my-datadir
  1. Téléchargez le snapshot:

Remplacez l'URL par l'URL de l'instantané du réseau principal si nécessaire.

cd ~/chiliz-node/my-datadir
nohup curl -L --retry 5 -o chaindata.tar.gz https://s3.eu-west-3.amazonaws.com/spicy-snapshots.chiliz.com/chaindata_snapshot.tar.gz > download.log 2>&1 &

Pour surveiller l'avancement du téléchargement, utilisez tail -f download.log

  1. Extrayez le snapshot

tar -xzf chaindata.tar.gz
  1. Lancez le noeud Chiliz Chain :

docker run \
  -v ~/chiliz-node/my-datadir:/datadir \
  --name ccv2-node \
  -p 8545:8545 \
  -p 8546:8546 \
  chilizchain/ccv2-geth:latest \
  --spicy \  # Use --chiliz for Mainnet
  --datadir=/datadir \
  --ipcdisable \
  --http \
  --http.addr=0.0.0.0 \
  --http.api=eth,net,web3,debug,txpool \
  --http.port=8545 \
  --http.corsdomain="*" \
  --http.vhosts="*" \
  --ws \
  --ws.addr=0.0.0.0 \
  --ws.api=eth,net,web3,debug,txpool \
  --ws.port=8546 \
  --ws.origins="*"

Informations supplémentaires sur Geth

Visitez les options de ligne de commande de Geth pour voir la liste complète des paramètres Geth disponibles.

Last updated

Was this helpful?