Troubleshooting
Network Won’t Start
-
Check if ports are in use
lsof -i :8545 # RPC port lsof -i :30303 # P2P port -
View Docker logs
docker compose logs reth0 docker compose logs reth1 -
Verify genesis file exists
ls -la assets/genesis.json -
Check emerald logs
tail -f nodes/0/emerald.log
Validator Operations Fail
-
Verify network is running
curl -X POST http://127.0.0.1:8545 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' -
Check validator public key format
- Must be hex-encoded secp256k1 public key
- Can be 64 bytes (raw) or 65 bytes (with
0x04prefix) - Include
0xprefix
-
Verify contract owner key
- Default:
0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
- Default:
Public Key Extraction
To get a validator’s public key from their private key file:
cargo run --bin emerald show-pubkey \
nodes/0/config/priv_validator_key.json
Cannot Connect to Docker
When using Docker Desktop, ensure that Enable host networking is turned on in the Docker Desktop settings. This option allows the containers to bind correctly to the host machine’s network interface, ensuring the Reth nodes and the monitoring services are reachable on the expected ports.