Becoming a validator
For validators not part of genesis
To become a validator, you need to run a full node that can be built from our source code at Github. Make sure to checkout the correct tag. For mainnet, checkout the tag
mainnetfor testnet checkout tag
testnet. Another thing to note is that we have only built the node on Ubuntu 20.04 and RHEL 8. The chain spec for mainnet is called
knox_raw.jsonand can be seen in Github over here. To build a mainnet node, run
cargo build --release --features mainnet
Once the node is built you can run it as below.
./target/release/dock-node --chain-spec=./cspec/knox_raw.json --validator .... and any other arguments
Note the flag
--validatorAnyone running a validator node must use that flag else the node will not act as a validator.
You can also use a docker image from here. For mainnet download image with tag
mainnet, for testnet image with tag
testnet. When running the container, pass the chain spec
docker run -d -p 9944:9944 -p 9933:9933 -p 30333:30333 docknetwork/dock-substrate:mainnet --chain=./cspec/knox_raw.json --validator ... and any other arguments
Similarly, for testnet, checkout the tag
testneton github and use chain spec
There is an ansible script as well to deploy docker node on provisioned machine. Here is the Readme for that.
Once the node is running and syncing, you need to bond tokens to become a validator which can be done through the polkadot-js apps UI here. Add Stash and Controller accounts with sufficient balance and then go to the Staking tab to set your session key and bond tokens.