Verbindung mit einem Knoten in JOC
Dieses Dokument beschreibt die Schritte zur Einrichtung eines Geth-Knotens in der Nutzerumgebung und zur Verbindung mit dem Mainnet und Testnet von Japan Open Chain. Sollten Sie eine Verbindung zu dApps mittels RPC-Endpunkten wünschen, sehen Sie bitte hier nach.
- Mainnet
- Testnet
Verbindung mit einem Knoten im JOC Mainnet
Die Schritte zur Verbindung sind wie folgt:
- 1. Erforderliche Pakete installieren
- 2. Datenverzeichnisse erstellen
- 3. Konfigurationsdateien herunterladen
- 4. Client installieren
- 5. JWT-Secret erzeugen
- 6. Initialisierung von Geth
- 7. Geth ausführen
- 8. Lighthouse ausführen
- 9. Überprüfung
1. Erforderliche Pakete installieren
# 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. Datenverzeichnisse erstellen
sudo mkdir -p /data/ethereum
sudo mkdir -p /data/ethereum/consensus/config
3. Konfigurationsdateien herunterladen
Laden Sie die folgenden Dateien herunter und kopieren Sie sie an die jeweils vorgesehenen Speicherorte:
| Datei | Link |
|---|---|
genesis.json | Anzeigen |
config.yaml | Anzeigen |
genesis.ssz | Download |
deposit_contract.txt | Anzeigen |
deposit_contract_block.txt | Anzeigen |
# 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. Client installieren
Geth (Execution Client, getestet mit v1.13.5):
https://geth.ethereum.org/docs/getting-started/installing-geth
Derzeit wird Geth v1.14.0 oder neuer nicht unterstützt.
Lighthouse (Consensus Client, getestet mit v7.0.1):
https://lighthouse-book.sigmaprime.io/installation.html
5. JWT-Secret erzeugen
Das JWT-Secret dient der Authentifizierung der internen Kommunikation zwischen Geth und Lighthouse. Erzeugen Sie es einmalig:
openssl rand -hex 32 | tr -d "\n" > /data/ethereum/jwtsecret
chmod 644 /data/ethereum/jwtsecret
6. Initialisierung von Geth
geth init \
--datadir=/data/ethereum \
/data/ethereum/genesis.json
Führen Sie diesen Befehl nur einmal aus.
7. Geth ausführen
Die aktuelle Liste der BootNodes wird von enodes.yaml abgerufen.
geth --datadir=/data/ethereum \
--networkid=81 \
--http \
--authrpc.vhosts="*" \
--authrpc.addr=127.0.0.1 \
--authrpc.jwtsecret=/data/ethereum/jwtsecret \
--bootnodes="$BOOTNODES"
8. Lighthouse ausführen
Die aktuelle Liste der Boot-ENRs wird von bootstrap_nodes.yaml abgerufen.
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. Überprüfung
Überprüfen Sie den Synchronisationsstatus von Geth:
curl -s -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
# false → fully synced
# object → syncing, shows currentBlock / highestBlock
Überprüfen Sie den Synchronisationsstatus von Lighthouse:
curl -s http://localhost:5052/eth/v1/node/peer_count
Falls die Meldung „Looking for peers“ weiterhin erscheint, konnte die Verbindung nicht hergestellt werden. Überprüfen Sie dann bitte die Bootnode- bzw. ENR-Werte sowie Ihre Firewall-Einstellungen (Ports 30303 TCP+UDP für Geth, Port 9000 TCP+UDP für Lighthouse).
Explorer
Verbindung mit einem Knoten im JOC Testnet
Die Schritte zur Verbindung sind wie folgt:
- 1. Erforderliche Pakete installieren
- 2. Datenverzeichnisse erstellen
- 3. Konfigurationsdateien herunterladen
- 4. Client installieren
- 5. JWT-Secret erzeugen
- 6. Initialisierung von Geth
- 7. Geth ausführen
- 8. Lighthouse ausführen
- 9. Überprüfung
1. Erforderliche Pakete installieren
# 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. Datenverzeichnisse erstellen
sudo mkdir -p /data/ethereum
sudo mkdir -p /data/ethereum/consensus/config
3. Konfigurationsdateien herunterladen
Laden Sie die folgenden Dateien herunter und kopieren Sie sie an die jeweils vorgesehenen Speicherorte:
| Datei | Link |
|---|---|
genesis.json | Anzeigen |
config.yaml | Anzeigen |
genesis.ssz | Download |
deposit_contract.txt | Anzeigen |
deposit_contract_block.txt | Anzeigen |
# 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. Client installieren
Geth (Execution Client, getestet mit v1.13.5):
https://geth.ethereum.org/docs/getting-started/installing-geth
Lighthouse (Consensus Client, getestet mit v7.0.1):
https://lighthouse-book.sigmaprime.io/installation.html
5. JWT-Secret erzeugen
Das JWT-Secret dient der Authentifizierung der internen Kommunikation zwischen Geth und Lighthouse. Erzeugen Sie es einmalig:
openssl rand -hex 32 | tr -d "\n" > /data/ethereum/jwtsecret
chmod 644 /data/ethereum/jwtsecret
6. Initialisierung von Geth
geth init \
--datadir=/data/ethereum \
/data/ethereum/genesis.json
Führen Sie diesen Befehl nur einmal aus.
7. Geth ausführen
Die aktuelle Liste der BootNodes wird von enodes.yaml abgerufen.
geth --datadir=/data/ethereum \
--networkid=361257328 \
--http \
--authrpc.vhosts="*" \
--authrpc.addr=127.0.0.1 \
--authrpc.jwtsecret=/data/ethereum/jwtsecret \
--bootnodes="$BOOTNODES"
8. Lighthouse ausführen
Die aktuelle Liste der Boot-ENRs wird von bootstrap_nodes.yaml abgerufen.
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. Überprüfung
Überprüfen Sie den Synchronisationsstatus von Geth:
curl -s -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
# false → fully synced
# object → syncing, shows currentBlock / highestBlock
Überprüfen Sie den Synchronisationsstatus von Lighthouse:
curl -s http://localhost:5052/eth/v1/node/peer_count
Falls die Meldung „Looking for peers“ weiterhin erscheint, konnte die Verbindung nicht hergestellt werden. Überprüfen Sie dann bitte die Bootnode- bzw. ENR-Werte sowie Ihre Firewall-Einstellungen (Ports 30303 TCP+UDP für Geth, Port 9000 TCP+UDP für Lighthouse).