Warden Protocol - Chaido chain
Warden brings AI to web3, enabling any application, protocol or smart contract to integrate safe AI.
1. Information
Website: https://wardenprotocol.org/
Twitter: https://x.com/wardenprotocol
Discord: https://discord.gg/wardenprotocol
Github https://github.com/warden-protocol
Telegram Group: https://t.me/wardenprotocol
Telegram Announcements: https://t.me/warden_news
Faucet at: https://faucet.chiado.wardenprotocol.org
*** Join my Discord to win more token: AnonID.TOP Validator Discord
2. Service
- Explorer: https://explorer.anonid.top/warden
- API: https://warden-api.anonid.top
- RPC: https://warden-rpc.anonid.top
3. Requirement
3.1. Hardware
3.1.1. Recommended hardware
CPU: 6 Cores, RAM: 16GB, Storage: 300GB NVMe SSD
3.1.2. Minumum hardware
CPU: 4 Cores, RAM: 16GB, Storage: 300GB disk space
3.2. OS
Recommended
Ubuntu 22.04 x86
3.3. Software
Go version 1.22.3 or later
4. Update and install dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl wget lz4 unzip -y
5. Guide to install
To easy manager and avoid errors and comfortable for execute command after, add your wallet name and some varable to enviroment by guide bellow.
Change your info, include pubkey, moniker, indentity, website, security, details and Save them
- <Wallet_Name>*: Your wallet name - Required
- <Moniker>*: Your validator name (node name) - Required
WALLET=<Wallet_Name>
MONIKER=<Moniker>
echo "export WALLET="${WALLET}"" >> $HOME/.bash_profile
echo "export MONIKER="${MONIKER}"" >> $HOME/.bash_profile
echo "export WARDEN_CHAIN_ID="chiado_10010-1"" >> $HOME/.bash_profile
echo "export WARDEN_NODE_RPC="https://warden-rpc.anonid.top"" >> $HOME/.bash_profile
source $HOME/.bash_profile
5.1. Install Go
rm -rf $HOME/go
sudo rm -rf /usr/local/go
cd $HOME
curl https://dl.google.com/go/go1.22.8.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
go version
5.2. Install Warden
cd $HOME
wget https://github.com/warden-protocol/wardenprotocol/releases/download/v0.5.2/wardend_Linux_x86_64.zip
unzip -j wardend_Linux_x86_64.zip wardend
rm -rf wardend_Linux_x86_64.zip
chmod +x wardend
sudo mv wardend /usr/bin/
wardend version
5.3. Init wardend
wardend init $MONIKER
5.4. Download Genesis & Addressbook
curl -Ls https://storage.anonid.top/warden/genesis.json > $HOME/.warden/config/genesis.json
curl -Ls https://storage.anonid.top/warden/addrbook.json > $HOME/.warden/config/addrbook.json
5.5. Create Service and enable startup
sudo tee /etc/systemd/system/wardend.service > /dev/null <<EOF
[Unit]
Description=wardend
After=network-online.target
[Service]
User=root
ExecStart=/usr/bin/wardend start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable wardend
5.6. Create quick log check tool
echo "sudo journalctl -u wardend -f" > ~/log && chmod +x ~/log
5.7. Download snapshort (itrocket snapshot)
wardend tendermint unsafe-reset-all --home $HOME/.warden --keep-addr-book
wget -O- https://server-4.itrocket.net/testnet/warden/warden_2024-10-26_58967_snap.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.warden
#Check log
sudo systemctl restart wardend && sudo journalctl -u wardend -f
OR
~/log
6. Create or import wallet
6.1. Add wallet key
You have 2 option:
6.1.1. Add new wallet key
wardend keys add $WALLET
Important: Save this output information, if you lost it, you can't recovery your wallet
6.1.2. Recover existing wallet key
wardend keys add $WALLET --recover
6.2. List all keys
wardend keys list
6.3. Make faucet
Visit faucet link at https://faucet.chiado.wardenprotocol.org, submit your wallet address to get faucet.
6.4. Query wallet balance
wardend q bank balances $(wardend keys show $WALLET -a)
Make sure your wallet have a balance
7. Check sync status
If it show "false", it mean no need to wait node sync data or node is synced
wardend status 2>&1 | jq .sync_info
8. Create Validator
Change your info, include indentity, website, security, details. All of it is optional.
- Your_Identiry: Your keybase.io ID (64-bit)
- Your_Website: Your website (if you have)
- Your_Security: Normaly is your email
- Your_Details: Your slogan to show in validator page
Identiry=<Your_Identiry>
Website=<Your_Website>
Security=<Your_Security>
Details=<Your_Details>
sudo tee $HOME/validator.json > /dev/null <<EOF
{
"pubkey": ${WALLET},
"amount": "1000000000000000000award",
"moniker": "${MONIKER}",
"identity": "${Identiry}",
"website": "${Website}",
"security": "${Security}",
"details": "${Details}",
"commission-rate": "0.1",
"commission-max-rate": "0.2",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}
EOF
8.1. Submit the transaction to create the validator:
wardend tx staking create-validator $HOME/validator.json --from $WALLET --chain-id $WARDEN_CHAIN_ID --node $WARDEN_NODE_RPC --gas auto --gas-adjustment 1.6 --fees 250000000000000award -y
When command complete, you should copy TXHash and check transactions at https://explorer.anonid.top/warden/tx (copy hash to find or paste it after click to search icon and press Enter) to verify this transactions is success or failed and then check your validator name in staking page of explorer at https://explorer.anonid.top/warden/staking. Remember check in Inactive tab, because at now, only 100 top validator can be show in Active tab.
9. Validator command
9.1. Delegate token to your own validator
10000000000000000000000 award = 1 WARD
AmountDelegate=10000000000000000000000
wardend tx staking delegate $(wardend keys show validator --bech val -a) ${AmountDelegate}award --from $WALLET --chain-id $WARDEN_CHAIN_ID --node $WARDEN_NODE_RPC --gas auto --gas-adjustment 1.6 --fees 250000000000000award -y
10. Services Management
10.1. Start service
sudo service wardend start
10.2. Stop service
sudo service wardend stop
10.3. Restart service
sudo service wardend restart
10.4. Check service status
sudo systemctl wardend status
10.5. Check service logs
sudo journalctl -u wardend -f --no-hostname -o cat
or
~/log
11. Backup Validator - Important
cat $HOME/.junction/config/priv_validator_key.json
Copy and store your node information in safe location. Don't forget backup your wallet at #Add wallet key