Connessione a un nodo JOC
Questo documento descrive i passaggi per costruire un nodo Geth nell'ambiente utente e connettersi a Mainnet e Testnet di Japan Open Chain. Se desideri connettere dApps utilizzando gli Endpoint RPC, consulta qui.
- Mainnet
- Testnet
Connessione di un nodo al JOC Mainnet
I passaggi per la connessione sono i seguenti:
- 1. Installazione dei pacchetti necessari
- 2. Creazione delle directory dei dati
- 3. Download dei file di configurazione
- 4. Installazione dei client
- 5. Generazione del JWT secret
- 6. Inizializzazione di Geth
- 7. Esecuzione di Geth
- 8. Esecuzione di Lighthouse
- 9. Verifica
1. Installazione dei pacchetti necessari
# Ubuntu / Debian
sudo apt-get update
sudo apt-get install -y curl openssl
# Amazon Linux 2023 / RHEL-based
sudo dnf install -y curl openssl
2. Creazione delle directory dei dati
sudo mkdir -p /data/ethereum
sudo mkdir -p /data/ethereum/consensus/config
3. Download dei file di configurazione
Scarica i file seguenti e copiali nelle posizioni corrette:
| File | Link |
|---|---|
genesis.json | Visualizza |
config.yaml | Visualizza |
genesis.ssz | Download |
deposit_contract.txt | Visualizza |
deposit_contract_block.txt | Visualizza |
# 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. Installazione dei client
Geth (Execution Client, verificato con v1.13.5):
https://geth.ethereum.org/docs/getting-started/installing-geth
Al momento, Geth v1.14.0 o versioni successive non sono supportate.
Lighthouse (Consensus Client, verificato con v7.0.1):
https://lighthouse-book.sigmaprime.io/installation.html
5. Generazione del JWT secret
Il JWT secret autentica la comunicazione interna tra Geth e Lighthouse. Generalo una sola volta:
openssl rand -hex 32 | tr -d "\n" > /data/ethereum/jwtsecret
chmod 644 /data/ethereum/jwtsecret
6. Inizializzazione di Geth
geth init \
--datadir=/data/ethereum \
/data/ethereum/genesis.json
Esegui questo comando una sola volta.
7. Esecuzione di Geth
L'elenco attuale dei BootNodes viene recuperato da 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. Esecuzione di Lighthouse
L'elenco attuale dei Boot ENR viene recuperato da 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. Verifica
Verifica lo stato di sincronizzazione di Geth:
curl -s -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
# false → completamente sincronizzato
# object → sincronizzazione in corso, mostra currentBlock / highestBlock
Verifica lo stato di sincronizzazione di Lighthouse:
curl -s http://localhost:5052/eth/v1/node/peer_count
Se continui a vedere il messaggio "Looking for peers", significa che non sei connesso correttamente. Verifica i valori di bootnode/ENR e le impostazioni del firewall (porte 30303 TCP+UDP per Geth, porta 9000 TCP+UDP per Lighthouse).
Explorer
Connessione di un nodo al JOC Testnet
I passaggi per la connessione sono i seguenti:
- 1. Installazione dei pacchetti necessari
- 2. Creazione delle directory dei dati
- 3. Download dei file di configurazione
- 4. Installazione dei client
- 5. Generazione del JWT secret
- 6. Inizializzazione di Geth
- 7. Esecuzione di Geth
- 8. Esecuzione di Lighthouse
- 9. Verifica
1. Installazione dei pacchetti necessari
# Ubuntu / Debian
sudo apt-get update
sudo apt-get install -y curl openssl
# Amazon Linux 2023 / RHEL-based
sudo dnf install -y curl openssl
2. Creazione delle directory dei dati
sudo mkdir -p /data/ethereum
sudo mkdir -p /data/ethereum/consensus/config
3. Download dei file di configurazione
Scarica i file seguenti e copiali nelle posizioni corrette:
| File | Link |
|---|---|
genesis.json | Visualizza |
config.yaml | Visualizza |
genesis.ssz | Download |
deposit_contract.txt | Visualizza |
deposit_contract_block.txt | Visualizza |
# 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. Installazione dei client
Geth (Execution Client, verificato con v1.13.5):
https://geth.ethereum.org/docs/getting-started/installing-geth
Lighthouse (Consensus Client, verificato con v7.0.1):
https://lighthouse-book.sigmaprime.io/installation.html
5. Generazione del JWT secret
Il JWT secret autentica la comunicazione interna tra Geth e Lighthouse. Generalo una sola volta:
openssl rand -hex 32 | tr -d "\n" > /data/ethereum/jwtsecret
chmod 644 /data/ethereum/jwtsecret
6. Inizializzazione di Geth
geth init \
--datadir=/data/ethereum \
/data/ethereum/genesis.json
Esegui questo comando una sola volta.
7. Esecuzione di Geth
L'elenco attuale dei BootNodes viene recuperato da enodes.yaml.
geth --datadir=/data/ethereum \
--networkid=361257328 \
--http \
--authrpc.vhosts="*" \
--authrpc.addr=127.0.0.1 \
--authrpc.jwtsecret=/data/ethereum/jwtsecret \
--bootnodes="$BOOTNODES"
8. Esecuzione di Lighthouse
L'elenco attuale dei Boot ENR viene recuperato da 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. Verifica
Verifica lo stato di sincronizzazione di Geth:
curl -s -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
# false → completamente sincronizzato
# object → sincronizzazione in corso, mostra currentBlock / highestBlock
Verifica lo stato di sincronizzazione di Lighthouse:
curl -s http://localhost:5052/eth/v1/node/peer_count
Se continui a vedere il messaggio "Looking for peers", significa che non sei connesso correttamente. Verifica i valori di bootnode/ENR e le impostazioni del firewall (porte 30303 TCP+UDP per Geth, porta 9000 TCP+UDP per Lighthouse).