Aller au contenu principal

Connexion au nœud JOC

Ce document décrit les étapes pour configurer un nœud Geth dans votre environnement utilisateur et se connecter au Mainnet et Testnet de Japan Open Chain. Si vous souhaitez utiliser les RPC Endpoints pour connecter vos dApps, veuillez vous référer à ceci.

Connexion au nœud JOC Mainnet​

Le flux de connexion est le suivant :

1. Installation des paquets requis​

# Ubuntu / Debian
sudo apt-get update
sudo apt-get install -y curl openssl

# Amazon Linux 2023 / distributions basées sur RHEL
sudo dnf install -y curl openssl

2. Création des répertoires de données​

sudo mkdir -p /data/ethereum
sudo mkdir -p /data/ethereum/consensus/config

3. Téléchargement des fichiers de configuration​

Téléchargez les fichiers ci-dessous et copiez-les aux emplacements appropriés :

FichierLien
genesis.jsonVoir
config.yamlVoir
genesis.sszTélécharger
deposit_contract.txtVoir
deposit_contract_block.txtVoir
# genesis.json -> /data/ethereum/genesis.json
# config.yaml -> /data/ethereum/consensus/config/config.yaml
# genesis.ssz -> /data/ethereum/consensus/config/genesis.ssz
# deposit_contract_block.txt -> /data/ethereum/consensus/config/deposit_contract_block.txt

4. Installation des clients​

Geth (client d'exécution, vérifié avec v1.13.5) :

https://geth.ethereum.org/docs/getting-started/installing-geth

attention

Actuellement, Geth v1.14.0 ou une version ultérieure n'est pas prise en charge.

Lighthouse (client de consensus, vérifié avec v7.0.1) :

https://lighthouse-book.sigmaprime.io/installation.html

5. Génération du secret JWT​

Le secret JWT authentifie la communication interne entre Geth et Lighthouse. Générez-le une seule fois :

openssl rand -hex 32 | tr -d "\n" > /data/ethereum/jwtsecret
chmod 644 /data/ethereum/jwtsecret

6. Initialisation de Geth​

geth init \
--datadir=/data/ethereum \
/data/ethereum/genesis.json

À exécuter une seule fois.

7. Lancement de Geth​

La liste actuelle des BootNodes est récupérée depuis enodes.yaml.

geth --datadir=/data/ethereum \
--networkid=81 \
--http \
--authrpc.vhosts="*" \
--authrpc.addr=127.0.0.1 \
--authrpc.jwtsecret=/data/ethereum/jwtsecret \
--bootnodes="$BOOTNODES"

8. Lancement de Lighthouse​

La liste actuelle des Boot ENR est récupérée depuis bootstrap_nodes.yaml.

lighthouse beacon_node \
--datadir=/data/ethereum/consensus \
--http \
--execution-endpoint=http://127.0.0.1:8551 \
--execution-jwt=/data/ethereum/jwtsecret \
--testnet-dir=/data/ethereum/consensus/config \
--boot-nodes="$BOOT_ENRS"

9. Vérification​

Vérifiez l'état de synchronisation de Geth :

curl -s -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
# false → entièrement synchronisé
# object → synchronisation en cours, affiche currentBlock / highestBlock

Vérifiez l'état de synchronisation de Lighthouse :

curl -s http://localhost:5052/eth/v1/node/peer_count

Si le message "Looking for peers" continue de s'afficher, cela signifie que la connexion n'est pas correctement établie. Veuillez vérifier les valeurs des bootnodes/ENR ainsi que les paramètres de votre pare-feu (ports 30303 TCP+UDP pour Geth, port 9000 TCP+UDP pour Lighthouse).

Explorer​