Node guide

Server specifications

Specification
Requirement

CPU

4+ VCPU

RAM

16+ GB

Storage

1+ TB SSD

UBUNTU

22.04

Bandwidth

1GBS

Installing essentials components

Before diving into the installation of your node, it's essential to update your server. To do this, simply run the following command in your VPS terminal :

sudo apt-get update && sudo apt-get upgrade -y

Install the necessary libraries

sudo apt install curl git jq build-essential gcc unzip wget lz4 -y

Install Go

cd $HOME && \
ver="1.22.0" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

Check go version

go version

The command must respond : go version go1.22.0 linux/amd64

Install initia

We will use the initia library for quick and simple update when needed.

git clone https://github.com/initia-labs/initia.git
cd initia
git checkout v0.2.14
make install

We check the initia version :

initiad version

The response must be : v0.2.14

Create your variables

echo 'export MONIKER="my_custom_moniker"' >> ~/.bash_profile
echo 'export CHAIN_ID="initiation-1"' >> ~/.bash_profile
echo 'export WALLET="my_custom_wallet"' >> ~/.bash_profile
echo 'export RPC_PORT="26657"' >> ~/.bash_profile
source $HOME/.bash_profile

Node Initialisation

cd $HOME
initiad init $MONIKER --chain-id $CHAIN_ID
initiad config set client chain-id $CHAIN_ID
initiad config set client node tcp://localhost:$RPC_PORT
initiad config set client keyring-backend os

Get the genesis.json file

wget https://initia.s3.ap-southeast-1.amazonaws.com/initiation-1/genesis.json -O $HOME/.initia/config/genesis.json

Update config.toml with seeds and peers

Peers and seeds list will be added later as they are actually unstable

PEERS=""
SEEDS=""
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/" -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" "$HOME/.initia/config/config.toml"

Update app.toml with gas price

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.15uinit,0.01uusdc\"/" $HOME/.initia/config/app.toml

Create a service

nano /etc/systemd/system/initiad.service
[Unit]
Description=My initia node
After=network.target
[Service]
User=$USER
Type=simple
ExecStart=$(which initiad) start --home $HOME/.initia
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target

Launching the node

systemctl enable initiad.service
systemctl start initiad.service

Check the status of your node

systemctl status initiad.service

Check the node logs

sudo journalctl -u initiad -f -o cat

Create your validator wallet

Before going futher you need to wait for your node to be sync. You can check this with differents commands you can find in our Quick command page.

initiad keys add $WALLET_NAME

IMPORTANT : Save your seed phrase.

Fullfill you wallet with faucet

Use the initia faucet : https://faucet.testnet.initia.xyz/

Create you validator

initiad tx mstaking create-validator
--amount=1000000uinit
--pubkey=$(initiad tendermint show-validator)
--moniker=$MONIKER
--chain-id=$CHAIN_ID
--commission-rate=0.05
--commission-max-rate=0.10
--commission-max-change-rate=0.01
--from=$WALLET
--identity="your_identity"
--website="your_website"
--details="your_details"
--gas=2000000 --fees=300000uinit
-y

Check you validator

You can check your validator status in the explorer : https://scan.testnet.initia.xyz/initiation-1

Last updated