- memory: 16Gb
- disk: 240Gb SSD (prune at ~180Gb)
Set the domain name to be used in the .env
file. You can also set a list of allowed IP addresses there. Rename example.env
to .env
:
mv example.env .env
Start node (If you do not use traefik, specify the compose file with the -f docker-compose.no-proxy.yml
):
docker-compose up -d
To see the sync status run:
curl -X POST --data '{"jsonrpc": "2.0", "id": 1, "method": "eth_syncing"}' -H 'Content-Type: application/json' -s https://${DOMAIN}/nm-http/
currentBlock
- your node current height;highestBlock
- network height.
docker-compose pull
docker-compose up -d
Set PUBLIC_IP
in .env
.
Create a jwtsecret file:
openssl rand -hex 32 | tr -d "\n" | sudo tee ./secrets/jwtsecret
sudo chmod 644 ./secrets/jwtsecret
Update to latest EL / CL node software:
docker-compose down
docker-compose pull
docker-compose up -d nethermind-xdai lighthouse-xdai
- Restart node with admin methods enabled:
- --JsonRpc.EnabledModules
- "Admin,Web3,Eth,Subscribe,Net,Parity"
- Send prune command:
curl --data '{"method":"admin_prune","params":[],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:8545
- Watch pruning process:
docker logs nethermind --since 60m -f | grep 'Pruning'
- Disable admin methods.