Node Validator Setup
A tutorial for becoming a node validator on the Exzo Network via staking XZO.
Create a directory to store your keys and testnet blockchain data
Run this to generate your validator keys
./exzocoin secrets init --data-dir ~/.testexzo
You should see something like this:
Public key (address) = 0xXXXXXXXXXX...
BLS Public key = 0xXXXXXXXXXX...
Node ID = 16UXXXXXXXXX...
Save that somewhere secure and continue to the next step.
Download the staking contracts:
git clone https://github.com/ExzoNetwork/staking-contracts.git
cp .env.example .env
Now open up the .env file and fill out the missing parts. Fill out the variables like so:
STAKING_CONTRACT_ADDRESS=0x0000000000000000000000000000000000001001 //don't change this.
YOUR_VALIDATOR_PRIVATE_KEY_HEREvariable can be found in this file:
.envfile and continue on
Send at least 1.1 XZO for testnet or 10,050 XZO for mainnet to the wallet address that you generated in Part 2:
Public key (address) = 0xXXXXX...
Once you have completed the steps above, run the following:
npm run stake
It run run a few seconds until the transaction confirms. Once the script is done running, you can run this script to confirm that your validator was added as well as the total staked amount and list of validators.
npm run info
When you are done staking and want to un-stake, run this command:
npm run info
./exzocoin server --data-dir ~/.exzo --chain mainnet-genesis.json --seal --max-slots 40960 --grpc 0.0.0.0:9632 --libp2p 0.0.0.0:1478 --jsonrpc 0.0.0.0:8545 --max-inbound-peers 128 --max-outbound-peers 16
Once you run that, your validator will start syncing with the testnet blockchain and begin validating.