Installation Dependencies
# Install dependencies for building from source
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
sudo apt update
sudo apt install -y curl git jq lz4 build-essential
# Install Go
sudo rm -rf /usr/local/go
curl -L https://go.dev/dl/go1.21.6.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile
source .bash_profile
Environment Variable Configuration
Download Binary
cd $HOME
rm -rf bin
mkdir bin && cd bin
wget https://github.com/warden-protocol/wardenprotocol/releases/download/v0.5.2/wardend_Linux_x86_64.zip
unzip wardend_Linux_x86_64.zip
chmod +x wardend
mv $HOME/bin/wardend $HOME/go/bin
Config And Init
wardend init $MONIKER
sed -i -e "s|^node *=.*|node = "tcp://localhost:${WARDEN_PORT}657"|" $HOME/.warden/config/client.toml
Genesis And Addrbook
wget -O $HOME/.warden/config/genesis.json https://snapshot.sipalingtestnet.com/warden/addrbook.json
wget -O $HOME/.warden/config/addrbook.json https://snapshot.sipalingtestnet.com/warden/addrbook.json
Seeds And Peers
SEEDS="5ea84a31cbc0f20937f285e308b2830ea76a952d@65.108.109.48:52656"
PEERS="5ea84a31cbc0f20937f285e308b2830ea76a952d@65.108.109.48:52656,b14f35c07c1b2e58c4a1c1727c89a5933739eeea@warden-testnet-peer.itrocket.net:18656,be9d2a009589d3d7194ad66a3baf66fc47a87033@144.76.97.251:26726,eb2e7095f86b24e8d5d286360c34e060a8db6334@188.40.85.207:12756,41a3a66993696c5e5d44945de2036227a4578fb3@195.201.241.107:56296,57cf9f7c96abd6579e7fa49772a0f3665fe59432@162.55.97.180:15656,bc864f9f16ccf5244ed3a0537f5838ffb3c61269@65.108.203.61:39656,275a44ff7db9564ac19f9cadc017222babdb244b@1.53.252.54:18656,61446070887838944c455cb713a7770b41f35ac5@37.60.249.101:26656,d5126141e065986f97e568c360b7b517ed2dc52a@5.75.159.246:26656"
sed -i -e "/^[p2p]/,/^[/{s/^[[:space:]]*seeds *=.*/seeds = "$SEEDS"/}" -e "/^[p2p]/,/^[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = "$PEERS"/}" $HOME/.warden/config/config.toml
Costum Port
# set custom ports in app.toml
sed -i.bak -e "s%:1317%:${WARDEN_PORT}317%g;
s%:8080%:${WARDEN_PORT}080%g;
s%:9090%:${WARDEN_PORT}090%g;
s%:9091%:${WARDEN_PORT}091%g;
s%:8545%:${WARDEN_PORT}545%g;
s%:8546%:${WARDEN_PORT}546%g;
s%:6065%:${WARDEN_PORT}065%g" $HOME/.warden/config/app.toml
# set custom ports in config.toml file
sed -i.bak -e "s%:26658%:${WARDEN_PORT}658%g;
s%:26657%:${WARDEN_PORT}657%g;
s%:6060%:${WARDEN_PORT}060%g;
s%:26656%:${WARDEN_PORT}656%g;
s%^external_address = ""%external_address = "$(wget -qO- eth0.me):${WARDEN_PORT}656"%;
s%:26660%:${WARDEN_PORT}660%g" $HOME/.warden/config/config.toml
Pruning And Set Gas
# config pruning
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
# set minimum gas price, enable prometheus and disable indexing
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.0025uward"|g' $HOME/.warden/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.warden/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = "null"/" $HOME/.warden/config/config.toml
Service File
sudo tee /etc/systemd/system/wardend.service > /dev/null <<EOF
[Unit]
Description=WARDEN node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.warden
ExecStart=$(which wardend) start --home $HOME/.warden
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Download Snapshot
Name | Height | Size | Block Time |
---|
# reset and download snapshot
wardend tendermint unsafe-reset-all --home $HOME/.warden
if curl -s --head curl https://snapshot.sipalingtestnet.com/warden/snapshotwarden.tar.lz4 | head -n 1 | grep "200" > /dev/null; then
curl https://snapshot.sipalingtestnet.com/warden/snapshotwarden.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.warden
else
echo "no snapshot founded"
fi
Start service
sudo systemctl daemon-reload
sudo systemctl enable wardend
sudo systemctl restart wardend && sudo journalctl -u wardend -f
Create Validator
Send Transaction
wardend tx staking create-validator $HOME/.warden/validator.json --from= --chain-id=chiado_10010-1 --fees 250000000000000uward -y --gas auto --gas-adjustment 1.6