Node guide

Server specifications

Specification
Requirement

CPU

4+ VCPU

RAM

8+ GB

Storage

1+ TB SSD

UBUNTU

22.04

Bandwidth

100MBS

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 clang pkg-config libssl-dev curl git wget htop tmux build-essential jq make lz4 gcc unzip -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 artela

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

cd $HOME
git clone https://github.com/artela-network/artela
cd artela
git checkout v0.4.7-rc6
make install

We check the initia version :

artelad version

The response must be : v0.4.7-rc6

Create your variables

echo 'export MONIKER="my_custom_moniker"' >> ~/.bash_profile
echo 'export CHAIN_ID="artela_11822-1"' >> ~/.bash_profile
echo 'export WALLET="my_custom_wallet"' >> ~/.bash_profile
echo 'export PORT="30"' >> ~/.bash_profile
source $HOME/.bash_profile

Node Initialisation

cd $HOME
artelad config node tcp://localhost:${PORT}657
artelad config keyring-backend test
artelad config chain-id $CHAIN_ID
artelad init $MONIKER --chain-id $CHAIN_ID

Get the genesis.json file

wget -qO $HOME/.artelad/config/genesis.json https://docs.artela.network/assets/files/genesis-314f4b0294712c1bc6c3f4213fa76465.json

Update config.toml with seeds and peers

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

PEERS="a996136dcb9f63c7ddef626c70ef488cc9e263b8@144.217.68.182:22256,978dee673bd447147f61aa5a1bdaabdfb8f8b853@47.88.57.107:26656,aa416d3628dcce6e87d4b92d1867c8eca36a70a7@47.254.93.86:26656,30fb0055aced21472a01911353101bc4cd356bb3@47.89.230.117:26656,32d0e4aec8d8a8e33273337e1821f2fe2309539a@47.88.58.36:26656,9e2fbfc4b32a1b013e53f3fc9b45638f4cddee36@47.254.66.177:26656,a03ae11a093c67e2554b73d174c4168fe715af10@57.128.103.184:26656,b23bc610c374fd071c20ce4a2349bf91b8fbd7db@65.108.72.233:11656,04fe1c36f8481649101bff41485e66287e40b136@170.64.140.116:26656,0188a9bcff4f411b29dbddda527d77803396e1c6@185.245.182.180:26656,bec6934fcddbac139bdecce19f81510cb5e02949@47.254.24.106:26656,146d6011cce0423f564c9277c6a3390657c53730@157.90.226.23:26656,1b73ac616d74375932fb6847ec67eee4a98174e9@116.202.85.52:25556,35ce36af33e289a29787eedb3127d21bf10edcff@81.0.218.194:45656,de5612c035bd1875f0bd36d7cbf5d660b0d1e943@5.78.64.11:26656"
SEEDS=""
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/" -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" "$HOME/.artela/config/config.toml"

Update app.toml

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0uart\"/" $HOME/.artelad/config/app.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.artelad/config/config.toml
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.artelad/config/config.toml
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${PORT}660\"%" $HOME/.artelad/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${PORT}317\"%; s%^address = \":8080\"%address = \":${PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${PORT}091\"%" $HOME/.artelad/config/app.toml
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="19"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.artelad/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.artelad/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.artelad/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.artelad/config/app.toml

Create a service

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

Launching the node

systemctl enable artelad.service
systemctl start artelad.service

Check the status of your node

systemctl status artelad.service

Check the node logs

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

artelad keys add $WALLET

IMPORTANT : Save your seed phrase.

Fullfill you wallet with faucet

Use the faucet available on the Artela discord

Create you validator

artelad tx staking create-validator \
--amount=10000000uart \
--pubkey=$(artelad tendermint show-validator) \
--moniker=$MONIKER \
--identity="your_identity" \
--details="your_details" \
--website="your_website" \
--chain-id=$ARTELA_CHAIN_ID \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1000 \
--from=wallet \
--gas-adjustment=1.5 \
--gas="auto" \
--gas-prices=10uart \
-y

Check you validator

You can check your validator status in the explorer : https://cosmotracker.com/artela/

Last updated