Exzo Network Node Validator Setup Tutorial

Exzo Network
6 min readAug 6, 2023

--

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

--

--

Exzo Network

A Safe, Scalable, and Upgradeable Web3 Infrastructure featuring full EVM compatibility & Real-Time Transactions. Website: https://exzo.network