Troubleshooting
Common Issues
Node Not Syncing
# Check sync status
curl -s http://localhost:26657/status | jq '.result.sync_info'
# Check peers
curl -s http://localhost:26657/net_info | jq '.result.peers | length'
# View logs
sudo journalctl -u evmd -f --output cat | grep -i error# 1. Check persistent peers configuration
grep persistent_peers $HOME/.evmd/config/config.toml
# 2. Add more peers
PEERS="<node_id>@<ip>:26656,<node_id2>@<ip2>:26656"
sed -i.bak "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.evmd/config/config.toml
# 3. Restart node
sudo systemctl restart evmd
# 4. If still not syncing, use state sync (faster)
# Get trust height and hash from a synced node
TRUST_HEIGHT=$(curl -s http://rpc-endpoint:26657/block | jq -r '.result.block.header.height')
TRUST_HEIGHT=$((TRUST_HEIGHT - 1000)) # Use height ~1000 blocks ago for safety
TRUST_HASH=$(curl -s http://rpc-endpoint:26657/block?height=$TRUST_HEIGHT | jq -r '.result.block_id.hash')
echo "Trust Height: $TRUST_HEIGHT"
echo "Trust Hash: $TRUST_HASH"
# Edit config.toml with these values
[statesync]
enable = true
rpc_servers = "http://rpc1.example.com:26657,http://rpc2.example.com:26657"
trust_height = $TRUST_HEIGHT
trust_hash = "$TRUST_HASH"
trust_period = "168h0m0s" # 7 days (must be less than unbonding period of 21 days)
# Then restart the node
sudo systemctl restart evmdValidator Jailed
Genesis Compatibility Issues
Consensus Failure Recovery
Double Sign Prevention
State Corruption
Log Analysis
Useful Log Patterns
Next Steps
Last updated