Node guide

Server specifications

Specification
Requirement

CPU

4+ VCPU

RAM

8+ GB

Storage

240+ GB 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 tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y

Install Go

cd $HOME && \
ver="1.21.6" && \
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.21.6 linux/amd64

Install warden

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

git clone https://github.com/warden-protocol/wardenprotocol/
cd wardenprotocol
git checkout v0.3.0
make install

We check the wardenprotocol version :

wardend version

The response must be : v0.3.0

Create your variables

echo 'export MONIKER="my_custom_moniker"' >> ~/.bash_profile
echo 'export CHAIN_ID="buenavista-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
wardend init $MONIKER

Get the genesis.json file

wget https://raw.githubusercontent.com/warden-protocol/networks/main/testnets/buenavista/genesis.json -O $HOME/.warden/config/genesis.json

Update config.toml with seeds and peers

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

PEERS="650c66dda5f7aa954f44fd6148a6f32b085ca792@sentry-0.buenavista.wardenprotocol.org:26656,7c70120717ef5eae8236162ede6819249bd6587d@sentry-1.buenavista.wardenprotocol.org:26656,288116b75c3c710268b5d86182d8dd5e33a6b56f@sentry-2.buenavista.wardenprotocol.org:26656,7e9adbd0a34fcab219c3a818a022248c575f622b@65.108.227.207:16656,dc0122e37c203dec43306430a1f1879650653479@37.27.97.16:26656,eee54c85c14748f7793738fadbc747ed1511efac@176.9.58.5:46656,8902e6a170e08225023a7fdd8b875c0349fef703@135.181.129.164:26656,c398112c01e8867f3da44b281cb9b2dd96644e2d@222.255.140.235:26656,210bf3fc361aa459921d01fd9ba1734302e283cc@65.108.88.85:11256,b209b221edc3c8a61c50ad895f6852b08cf718f5@173.212.232.122:26656,7f6c095219b0ae2025b6ede827723477d467f0ee@109.199.123.151:46656,4235609063af233ee62f35f075a8d61204823769@62.169.23.44:18656,6a4f5b991c321efb12188c126f115d73f4ebf885@95.217.116.103:36656"
SEEDS="" // add you seed if wanted
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/" -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" "$HOME/.warden/config/config.toml"

Update app.toml with gas price

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0025uward\"/" $HOME/.warden/config/app.toml

Config pruning, indexer and prometheus

sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.warden/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.warden/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.warden/config/app.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.warden/config/config.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.warden/config/config.toml

Create a service

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

Launching the node

sudo systemctl daemon-reload
sudo systemctl enable wardend.service
sudo systemctl start wardend.service

Check the status of your node

sudo systemctl status wardend.service

Check the node logs

sudo journalctl -u wardend -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.

wardend keys add $WALLET

IMPORTANT : Save your seed phrase.

# save wallet and address
WALLET_ADDRESS=$(wardend keys show $WALLET -a)
VALOPER_ADDRESS=$(wardend keys show $WALLET --bech val -a)
echo "export WALLET_ADDRESS="$WALLET_ADDRESS >> $HOME/.bash_profile
echo "export VALOPER_ADDRESS="$VALOPER_ADDRESS >> $HOME/.bash_profile
source $HOME/.bash_profile

Fullfill you wallet with faucet

Use this command after changing you wallet adresse :

curl -XPOST -d '{"address": "your_wallet_adresse"}' https://faucet.buenavista.wardenprotocol.org

Create you validator

wardend tx staking create-validator \
--amount 1000000uward \
--from $WALLET \
--commission-rate 0.1 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--pubkey $(wardend tendermint show-validator) \
--moniker "$MONIKER" \
--identity "your_identity" \
--details "your_details" \
--website "your_website" \
--chain-id buenavista-1 \
--gas auto --gas-adjustment 1.5 --fees 600uward \
-y 

Last updated