> For the complete documentation index, see [llms.txt](https://docs.starlightnode.com/services/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.starlightnode.com/services/testnets/warden-protocol/node-guide.md).

# Node guide

### Server specifications

<table><thead><tr><th width="317">Specification</th><th>Requirement</th></tr></thead><tbody><tr><td>CPU</td><td>4+ VCPU</td></tr><tr><td>RAM</td><td>8+ GB</td></tr><tr><td>Storage</td><td>240+ GB SSD</td></tr><tr><td>UBUNTU</td><td>22.04</td></tr><tr><td>Bandwidth</td><td>1GBS</td></tr></tbody></table>

### **Installing essentials components**&#x20;

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.

```bash
# 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 
```
