▪️Setup

VagaChain Node and Validator Node Setup Process

Table of Contents

1. Server Configuration

Before proceeding, we will need to increase the default per-user open file limit in Linux.

# Increase file limits 
echo "* soft nofile 64000" | sudo tee -a /etc/security/limits.conf
echo "* hard nofile 64000" | sudo tee -a /etc/security/limits.conf
echo "root soft nofile 64000" | sudo tee -a /etc/security/limits.conf
echo "root hard nofile 64000" | sudo tee -a /etc/security/limits.conf
echo "session required pam_limits.so" | sudo tee -a /etc/pam.d/common-session

To check the above updated settings, use the commands below:

2. Download VagaChain Configuration Files and Install

2.1 Download

Clone VagaChain dependencies and build binaries by using the following git commands:

circle-check
circle-info

Note:

During the initial stage of public validator node onboarding, Vagabond will conduct a pre-selection of interested participants to ensure the best possible support experience and to attain high quality validator node operators.

To participate, please refer to the following documentation: Validator Onboarding Program

circle-exclamation

2.2 Install

Install VagaChain

3. VagaChain Service Configuration

3.1 Systemd (Linux) service unit file

The following step will create a service to run VagaChain in the background. It will also allow the machine to automatically restart the service if it stops for some reason (and helps to avoid getting slashed!). This is a necessary step to make sure our validator runs 24-7.

Copy and paste the complete code below. Replace [user] and [home] with your systems user profile name and home directory.

Reload daemon:

3.2 Enable service

4. Initialize the Chain

4.1 Define the name of your validator node

Before kick-starting your node, we need to initialize the chain so that it can connect to the VagaChain network. This is done with the following init subcommand:

Change moniker to a different human-readable name of choice and remove the brackets. This will be the displayed id of your node when connected to the VagaChain network.

circle-info

Note:

Monikers can only contain ASCII characters; using Unicode characters will render your node unreachable by other peers in the network.

The command above creates all the configuration files needed for your node to run, as well as a default genesis file, which defines the initial state of the network. All these configuration files are in ~/.vagachain folder by default:

4.2 Configure app.toml and config.toml

Set minimum-gas-prices:

circle-check

Next we need to set the external_address parameter registered in the config.toml file. This setting will add your public IP to the address book in seed nodes, preventing continuous reconnections. The default P2P port is 26656.

Proceed after with the following changes in config.toml. These have to be done manually:

circle-check

4.3 Download Genesis and Address Book files

circle-exclamation

5. Create VAGA Wallet Account

The following step is to create a new VagaChain VAGA wallet account for your validator node. When providing the <account-name>, make sure you drop the quotation marks <>.

The following request will come up. Enter a passphrase:

circle-check
triangle-exclamation

An important reminder:

In order for vagachaind to recognize a wallet address it must contain VAGA coins.

Add funds to your new wallet account from an existing wallet account.

Compatible VagaChain VAGA wallet: VagaWallet

6. Genesis & Address Book

Set your newly created VagaChain wallet account as a local genesis account and set the <initial-balance>:

circle-check

Replace <account-name> with your previously created VagaChain wallet account name.

Now that you have created a local genesis account, go ahead and create your first genesis transaction with the <stake-amount> of VAGA you wish to bond to your validator by granting it some uvaga coins.

Collect both gentxs transactions and add them to the genesis.json file:

7. Create Validator and Set Staking Amount

7.1 Create validator

To create the validator and initialize it with a self-delegation, run the following command. key-name is the name of the Application Operator Key that is used to sign transactions.

The above command registers the validator account you created as a validator operator account (i.e. the account that controls the validator) and self-delegates the provided stake-amount of staking coins.

circle-exclamation

7.2 Confirm validator is active

If running the following command returns something, your validator is active:

You may look for the bech32 encoded address in the ~/.vagachain/config/priv_validator_key.json file.

You can also verify the inclusion of your node in the network by viewing the VagaChain Block Explorer:

VagaChain Block Explorer Dashboard - Mainnet

7.3 Secure your keys and have a backup plan

triangle-exclamation

An important reminder:

circle-check

Secure your keys and have a backup planarrow-up-right:

8. Start your Validator

You can now start your validator:

To further verify the status of your validator, use the following HTML link:

VagaChain Validator Node Explorer

Make sure to change moniker in the above link with the previously defined node id.

circle-check

Last updated

Was this helpful?