Exzo Network Node Validator Setup Tutorial
Pre-requisits
1. Node.js
2. Rust
Pre-requisits guides:
Install Node.js on Mac using the terminal:
Step 1. Mac: Hit F4 on your keyboard then type terminal in the search bar and click it to open it.
If you don’t have Homebrew installed I recommend installing it using this command below:
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Then install wget using this command:
brew install wget
Step 2. Install Node.js
Install Node.js on Mac
brew install node
Install Node.js on Windows
Follow this guide: https://www.geeksforgeeks.org/installation-of-node-js-on-windows/
#### Main Tutorial ####
Step 1. Install the Exzo Network Tool Suite
Open your terminal
Mac: Hit F4 then search for terminal
Windows: Windows key + R )
Navigates to the Desktop directory
cd Desktop
mkdir Node-Validator
Navigates to the Node Validator folder you just created
cd Node-Validator
Clone the GitHub repository
Git clone https://github.com/ExzoNetwork/Exzo-Network-Blockchain.git
Step 2. Install the dependencies needed
curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env
rustup component add rustfmt
rustup update
Step 3. Building the source code and moving into proper directory
cd Exzo-Network-Blockchain
cargo build — release
cd target/release
see a list of commands you can use
exzo help
Step 4. Setting up the CONFIGURATION and checking it
./exzo config set — url https://rpc-test-1.exzo.network/rpc — config /Users/screadore/.config/exzo/cli/config.yml
Checking the configuration of the cluster
./exzo config get
Output
Config File: /Users/screadore/.config/exzo/cli/config.yml
RPC URL: https://rpc-test-1.exzo.network/rpc
WebSocket URL: wss://rpc-test-1.exzo.network/rpc (computed)
Keypair Path: my-exzo-network-ledger
Commitment: confirmed
Step 5. Check if the cluster is connected and reachable
exzo transaction-count
exzo cluster-version
Step 6. Join the gossip network to view a list of active nodes
exzo-gossip spy — entrypoint bootnode-test.exzo.network:8001
Step 7. Create your identity/wallet
exzo-keygen new -o ~/validator-keypair.json
Output should look like this:
Wrote new keypair to /Users/screadore/new-validator-keypair.json
=========================================================================
pubkey: 6DfdT2345soktJnLAaN8ea8p5z8tixA2tVirs3cBSwNM
=========================================================================
Save this seed phrase and your BIP39 passphrase to recover your new keypair:
tide cancel actress pave focus trial fantasy huge glow hour marble hurdle
=========================================================================
Copy and paste your pubkey somewhere easily accessible to make it easier in later steps.
Note: You will have to save both seeds, for your identity and
vote account, in the case you lose your seeds you will lose
control over the account, please be careful.
Check the identity of you account
exzo-keygen pubkey ~/new-validator-keypair.json
Output should be similar to this:
6DfdT2345soktJnLAaN8ea8p5z8tixA2tVirs3cBSwNM
Step 8. Configure the new keypair you just generated to the CLUSTER
exzo config set — keypair ~/new-validator-keypair.json
Output
screadore@Stefans-iMac release % exzo config set — keypair ~/new-validator-keypair.json
Config File: /Users/screadore/.config/velas/cli/config.yml
RPC URL: https://rpc-test-1.exzo.network/rpc
WebSocket URL: wss://rpc-test-1.exzo.network/rpc (computed)
Keypair Path: /Users/screadore/new-validator-keypair.json
Commitment: confirmed
Step 9. Create your vote account
exzo-keygen new -o ~/my-vote-account-keypair.json
Output:
Wrote new keypair to /Users/screadore/my-vote-account-keypair.json
==========================================================================
pubkey: CMmCQwU6vuyJxoJtW9JhCWWrcyCpg4uVTv4JxWNvfNoX
==========================================================================
Save this seed phrase and your BIP39 passphrase to recover your new keypair:
broom winner govern pluck phone wrist dumb genuine mistake type love upset
==========================================================================
Step 10. Now that we have created our identity and vote account, it is time to link them to be able to
identify ourselves in the network and synchronize our node.
To do this we will need some XZO native funds in the identity account aka the first wallet we created in Step 7.
This serves two functions:
1) Relate the identity account and the vote account in the next step (Create Vote account in the network).
2) Pay the commissions of the transactions in which the node participates.
You should have your public address noted down somewhere to access it easily, but if not you can run this command to display it:
exzo-keygen pubkey ~/new-validator-keypair.json
Step 11. Airdrop yourself some XZO tokens
./exzo airdrop 10001 REPLACE_THIS_WITH_YOUR_WALLET_ADDRESS -u https://rpc-test-1.exzo.network/rpc — faucet-host https://faucet.exzo.network
Example:
./exzo airdrop 10001 6DfdT2345soktJnLAaN8ea8p5z8tixA2tVirs3cBSwNM -u https://rpc-test-1.exzo.network/rpc — faucet-host https://faucet.exzo.network
Output
Signature: 2bN6mXgsQhuyJWCWAy6w21fx3J9KsdftZiC7ERZ7Cwyk6ghAsKZC9sRz1MMN311y2HmU4G7BWHnLWqFTKANbqT2n
10001 XZO
Step 12. Check your wallet balance
./exzo balance 6DfdT2345soktJnLAaN8ea8p5z8tixA2tVirs3cBSwNM
Step 13. Create your withdrawer account keypair
exzo-keygen new -o ~/withdrawer-keypair.json
Output should look like this:
Wrote new keypair to /Users/screadore/withdrawer-keypair.json
======================================================================
pubkey: yveKKCRYorZXNfHAK4VcDXV3jzbXGLKaUTmWwHr9u6t
======================================================================
Save this seed phrase and your BIP39 passphrase to recover your new keypair:
fall wide scrap pair trim aspect lake vacant ecology invest hunt argue
======================================================================
Step 14. Now that we have XZO in the identity account we can now create the vote account
exzo create-vote-account ~/my-vote-account-keypair.json ~/validator-keypair.json yveKKCRYorZXNfHAK4VcDXV3jzbXGLKaUTmWwHr9u6t — commission 1
Output
Signature: 3Ec294R7uq8h3nRyQkBmDtzjLyLBSFNFS3KJnjFdZFXmtZC7ccXs1uof38uWZ9kdLpJ9SGUhcBkLzcp67CFjspir
Note: If you are using an identity stored in a paper wallet instead of a Keypair system file on your
computer, replace ~/validator-keypair.json for ASK which will suggest you enter your seed corresponding to the identity account.
Keypair files are stored on your computer and therefore can be exposed in case your security is compromised, only send a sufficient amount of XZO
Native to pay commissions for a period of time, 1–3 months, an amount of 100–300 XZO should be sufficient for a considerable period of time.”
Step 15. Send tokens to your vote account
exzo transfer — from ~/new-validator-keypair.json CMmCQwU6vuyJxoJtW9JhCWWrcyCpg4uVTv4JxWNvfNoX 0.5 — url https://rpc-test-1.exzo.network/rpc — fee-payer ~/new-validator-keypair.json
Step 16. Connect your validator
The command that allows executing the node is “exzo-validator” if you write it in the console you will be
able to see all the possible arguments and options when executing your node.
- If your computer does not have a GPU or is not compatible with CUDA, you should not add — cuda in the command line.
- By default, the ledger will grow until there is no more space left on the hard drive, adding the arg — limit-ledger-size we will limit the file to a maximum of 500 GB.
- You can control the range of ports that the node will use to connect, by default it is recommended to open port range 8000–10000.
- Make sure your system clock is synchronized.
Use this command with a system without a compatible GPU or CUDA
screen exzo-validator — identity ~/new-validator-keypair.json — vote-account ~/my-vote-account-keypair.json — ledger /home/exzonode/ledger/ — rpc-port 8899 — dynamic-port-range 8000–8010 — entrypoint bootnode-test.exzo.network:8001 — limit-ledger-size — expected-shred-version 17211 — max-genesis-archive-unpacked-size 707374182 — log -
Use this command with a system with a compatible GPU or CUDA
screen exzo-validator — cuda — identity ~/new-validator-keypair.json — vote-account ~/my-vote-account-keypair.json — ledger /home/exzonode/ledger/ — rpc-port 8899 — dynamic-port-range 8000–8010 — entrypoint bootnode-test.exzo.network:8001 — limit-ledger-size — expected-shred-version 17211 — max-genesis-archive-unpacked-size 707374182 — log -
If the two commands above dont work try the one below. Also note that the path for “../../../../Desktop/exzovalidatornode/ledger/”
is to an empty file you need to create on your Desktop and you can rename the main folder whatever you prefer.
exzo-validator — identity ~/new-validator-keypair.json — vote-account ~/my-vote-account-keypair.json — ledger ../../../../Desktop/exzovalidatornode/ledger/ — rpc-port 8899 — dynamic-port-range 8000–8020 — entrypoint bootnode-test.exzo.network:8001 — limit-ledger-size — expected-shred-version 17211 — max-genesis-archive-unpacked-size 707374182 — log -
Optional configurations
1) “ — limit-ledger-size <size>” You can limit the size of the ledger to a
maximum of 100 GB by replacing <size> for 50,000,000, you can assign another value as long as it is higher.
2) “ — identity ASK” and/or “ — vote-account ASK” If you are using paper wallets instead of keypairs on
the system, you need to change the path to the corresponding file by the “ASK” argument.
Step 17. Check your node
exzo-gossip spy — entrypoint bootnode-test.exzo.network:8001
You can also see the process on your server by running the command:
htop
If you need additional support please join our developer chat or message us on Twitter or Telegram.
Website: https://exzo.network
Documentation: https://docs.exzo.network
Developer Chat: https://t.me/Exzo_Network/515484
Twitter: https://twitter.com/exzo_network