Skip to main content

Quick Command Reference

Start the node

docker-compose -f validator.docker-compose.yaml up -d

Stop the node

# 1. kill geth (proper shutdown)
docker exec ecredits_ecs-node_1 killall -INT geth

# 2. shutdown the container
docker-compose -f validator.docker-compose.yaml down

Restart the node

# 1. kill geth (proper shutdown)
docker exec ecredits_ecs-node_1 killall -INT geth

# 2. restart the container
docker-compose -f validator.docker-compose.yaml restart

Show Logs

docker logs --tail 10 -f ecredits_ecs-validator_1

Connect to Geth

docker exec -it ecredits_ecs-validator_1 geth attach

Start Validation

docker exec -it ecredits_ecs-validator_1 geth attach
personal.unlockAccount("<Address>", "<PW>", 0)
miner.start()

or

docker exec -it ecredits_ecs-validator_1 geth --exec "personal.unlockAccount(\"<Address>\",\"<PW>\",0)" attach
docker exec -it ecredits_ecs-validator_1 geth --exec "miner.start()"

Vote for another validator

docker exec -it ecredits_ecs-validator_1 geth attach
clique.propose("0x....", true)

or

docker exec -it ecredits_ecs-validator_1 geth --exec 'clique.propose("0x....", true)' attach

Clean/Reset/Reinitialize the database

DATADIR=/var/lib/eCredits
docker-compose -f $DATADIR/validator.docker-compose.yaml down

docker run -it -v $DATADIR/genesis.json:/etc/config/genesis.json -v $DATADIR/datadir:/root/.ethereum -e POD_NAME --entrypoint geth ecredits/node:latest removedb

docker-compose -f /var/lib/eCredits/validator.docker-compose.yaml up -d

Import Private Key

docker exec -it ecredits_ecs-validator_1 geth account import <PrivateKeyFile>

Create a new account

docker exec -it ecredits_ecs-validator_1 geth account new

Withdraw ECS from your validator

docker exec -it ecredits_ecs-validator_1 geth attach
eth.sendTransaction({ from: "0x...", to: "0x...", value: 1000000000000000000 })