Warden Protocol 是一个将AI安全集成到Web3的区块链,允许任何应用程序、协议或智能合约安全地集成AI功能。Chiado是其最新改进的测试网,引入了许多创新功能,包括异步计算模块、EVM兼容性和预言机系统。
本教程将手把手教你如何在Chiado测试网上部署一个Validator验证节点,包含完整的环境配置、安装流程、创建验证者和日常维护操作。
CPU: 最少 4 核心(推荐 8 核)
内存: 最少 16GB RAM
存储: 最少 300GB SSD 硬盘
网络: 稳定的网络连接,带宽至少 100Mbps
操作系统: Ubuntu 20.04 或 22.04 LTS
# 更新系统包
sudo apt update && sudo apt upgrade -y
# 安装必要工具
sudo apt install -y curl git build-essential jq lz4 unzip
# 下载并安装 Go 1.24
cd $HOME
curl -LO https://go.dev/dl/go1.24.0.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.24.0.linux-amd64.tar.gz
# 设置环境变量
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export GOBIN=$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc
# 验证安装
go version
# 创建工作目录
cd $HOME
mkdir -p bin && cd bin
# 下载最新版本的 wardend (v0.6.3)
wget https://github.com/warden-protocol/wardenprotocol/releases/download/v0.6.3/wardend-0.6.3-linux-amd64.tar.gz
tar -xzf wardend-0.6.3-linux-amd64.tar.gz
chmod +x wardend
# 移动到系统路径
sudo mv wardend /usr/local/bin/
# 验证安装
wardend version
# 克隆源码
cd $HOME
git clone --depth 1 --branch v0.6.3 https://github.com/warden-protocol/wardenprotocol
cd wardenprotocol
# 安装 Just 构建工具
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~/.local/bin
echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc
source ~/.bashrc
# 编译并安装
just wardend build
just wardend install
# 验证安装
wardend version
# 初始化节点(替换 <your-moniker> 为你的节点名称)
wardend init <your-moniker> --chain-id=chiado_10010-1
# 示例
wardend init MyValidatorNode --chain-id=chiado_10010-1
# 进入配置目录
cd $HOME/.warden/config
# 下载创世文件
rm -f genesis.json
wget https://raw.githubusercontent.com/warden-protocol/networks/main/testnets/chiado/genesis.json
# 验证文件完整性
sha256sum genesis.json
# 设置最低Gas价格
sed -i 's/minimum-gas-prices = ""/minimum-gas-prices = "25000000award"/' $HOME/.warden/config/app.toml
# 配置种子节点
sed -i 's/seeds = ""/seeds = "8288657cb2ba075f600911685670517d18f54f3b@warden-testnet-seed.itrocket.net:18656"/' $HOME/.warden/config/config.toml
# 配置持久化节点
PEERS="b14f35c07c1b2e58c4a1c1727c89a5933739eeea@warden-testnet-peer.itrocket.net:18656,5461e7642520a1f8427ffaa57f9d39cf345fcd47@54.72.190.0:26656,2d2c7af1c2d28408f437aef3d034087f40b85401@52.51.132.79:26656"
sed -i "s/persistent_peers = \"\"/persistent_peers = \"$PEERS\"/" $HOME/.warden/config/config.toml
状态同步可以大大加快初始同步速度:
# 获取最新区块信息
export SNAP_RPC_SERVERS="https://rpc.chiado.wardenprotocol.org:443,https://rpc.chiado.wardenprotocol.org:443"
export LATEST_HEIGHT=$(curl -s "https://rpc.chiado.wardenprotocol.org/block" | jq -r .result.block.header.height)
export BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000))
export TRUST_HASH=$(curl -s "https://rpc.chiado.wardenprotocol.org/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
# 验证变量设置
echo "最新高度: $LATEST_HEIGHT"
echo "信任高度: $BLOCK_HEIGHT"
echo "信任哈希: $TRUST_HASH"
# 配置状态同步
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC_SERVERS\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.warden/config/config.toml
# 创建服务文件
sudo tee /etc/systemd/system/wardend.service > /dev/null <<EOF
[Unit]
Description=Warden Node
After=network.target
[Service]
User=$USER
Type=simple
ExecStart=/usr/local/bin/wardend start --home $HOME/.warden
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
# 重新加载systemd并启动服务
sudo systemctl daemon-reload
sudo systemctl enable wardend
sudo systemctl start wardend
# 查看日志
sudo journalctl -u wardend -f --no-hostname -o cat
# 检查同步状态
curl -s http://localhost:26657/status | jq .result.sync_info
# 当 "catching_up": false 时,表示同步完成
# 创建新钱包(替换 mykey 为你的钱包名称)
wardend keys add mykey
# 重要:务必备份助记词!
# 从助记词恢复钱包
wardend keys add mykey --recover
# 显示钱包地址
wardend keys show mykey --address
# 示例输出:warden1abc...xyz
由于官方水龙头可能有变化,建议通过以下方式获取测试币:
加入官方Discord: https://discord.com/invite/wardenprotocol
在#chiado-faucet频道申请: $request你的钱包地址
# 检查余额
wardend query bank balances $(wardend keys show mykey -a)
# 获取节点公钥
wardend comet show-validator
# 或使用(较旧版本)
wardend tendermint show-validator
# 输出类似:{"@type":"/cosmos.crypto.ed25519.PubKey","key":"..."}
# 创建 validator.json 文件
tee $HOME/validator.json > /dev/null <<EOF
{
"pubkey": {
"@type": "/cosmos.crypto.ed25519.PubKey",
"key": "此处填入上面获取的公钥"
},
"amount": "5000000000000000000award",
"moniker": "你的验证者名称",
"identity": "可选:Keybase身份ID",
"website": "可选:你的网站",
"security": "可选:安全联系方式",
"details": "可选:验证者描述",
"commission-rate": "0.05",
"commission-max-rate": "0.20",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}
EOF
参数说明:
amount: 初始质押数量(5 WARD = 5000000000000000000award)commission-rate: 佣金费率(5%)commission-max-rate: 最大佣金费率(20%)commission-max-change-rate: 佣金变更限制(每天1%)
# 创建验证者
wardend tx staking create-validator $HOME/validator.json \
--from mykey \
--chain-id chiado_10010-1 \
--fees 250000000000000award \
--gas auto \
--gas-adjustment 1.6 \
--node https://rpc.chiado.wardenprotocol.org \
-y
# 查看交易结果
echo "等待交易确认..."
sleep 10
# 增加质押到验证者
wardend tx staking delegate \
$(wardend keys show mykey --bech val -a) \
1000000000000000000award \
--from mykey \
--chain-id chiado_10010-1 \
--fees 250000000000000award \
--gas auto \
--gas-adjustment 1.6 \
--node https://rpc.chiado.wardenprotocol.org \
-y
# 查看节点状态
wardend status 2>&1 | jq .ValidatorInfo
# 查看验证者详情
wardend query staking validator $(wardend keys show mykey --bech val -a)
# 查看验证者列表
wardend query staking validators --output json | jq '.validators[] | {moniker, status, tokens}'
# 查看验证者是否被监禁
wardend query staking validator $(wardend keys show mykey --bech val -a) | grep jailed
# 解除监禁
wardend tx slashing unjail \
--from mykey \
--chain-id chiado_10010-1 \
--fees 250000000000000award \
--gas auto \
--gas-adjustment 1.6 \
--node https://rpc.chiado.wardenprotocol.org \
-y
# 更新验证者信息
wardend tx staking edit-validator \
--new-moniker "新的验证者名称" \
--identity "Keybase ID" \
--website "https://yourwebsite.com" \
--details "验证者描述" \
--commission-rate "0.06" \
--from mykey \
--chain-id chiado_10010-1 \
--fees 250000000000000award \
--gas auto \
--gas-adjustment 1.6 \
-y
# 查看服务状态
sudo systemctl status wardend
# 启动服务
sudo systemctl start wardend
# 停止服务
sudo systemctl stop wardend
# 重启服务
sudo systemctl restart wardend
# 查看实时日志
sudo journalctl -u wardend -f --no-hostname -o cat
# 查看最近日志
sudo journalctl -u wardend -n 100
# 检查节点同步状态
wardend status 2>&1 | jq .SyncInfo.catching_up
# 检查最新区块
wardend status 2>&1 | jq .SyncInfo.latest_block_height
# 检查连接的对等节点
curl -s localhost:26657/net_info | jq .result.n_peers
# 检查系统资源使用
htop
# 检查磁盘使用
df -h
# 检查网络连接
netstat -tulpn | grep :26656
# 创建备份目录
mkdir -p $HOME/warden_backup
# 备份验证者私钥文件
cp $HOME/.warden/config/priv_validator_key.json $HOME/warden_backup/
cp $HOME/.warden/config/node_key.json $HOME/warden_backup/
cp $HOME/.warden/data/priv_validator_state.json $HOME/warden_backup/
# 备份钱包助记词(手动记录,不要存储在服务器上)
echo "请手动备份钱包助记词到安全位置!"
防火墙配置:
# 开放必要端口
sudo ufw allow 22 # SSH
sudo ufw allow 26656 # P2P
sudo ufw allow 26657 # RPC (可选,仅本地访问)
sudo ufw enable
SSH安全:
使用密钥认证而非密码
更改默认SSH端口
禁用root直接登录
监控告警:
设置节点离线告警
监控磁盘空间
关注网络延迟
问题1:节点无法启动
# 检查日志
sudo journalctl -u wardend -n 50
# 检查配置文件
wardend validate-genesis $HOME/.warden/config/genesis.json
# 重置节点数据(慎用)
wardend tendermint unsafe-reset-all --home $HOME/.warden
问题2:同步缓慢
# 使用快照同步(备份验证者状态文件)
sudo systemctl stop wardend
cp $HOME/.warden/data/priv_validator_state.json $HOME/.warden/priv_validator_state.json.backup
# 下载快照(示例,请使用官方或可信来源)
curl -L snapshot_url | tar -xf - -C $HOME/.warden/
# 恢复验证者状态
mv $HOME/.warden/priv_validator_state.json.backup $HOME/.warden/data/priv_validator_state.json
sudo systemctl start wardend
问题3:验证者被监禁
# 检查监禁原因
wardend query slashing signing-info $(wardend comet show-validator)
# 确保节点正常运行后解除监禁
wardend tx slashing unjail --from mykey --chain-id chiado_10010-1 --fees 250000000000000award -y
Discord社区: https://discord.com/invite/wardenprotocol
恭喜你!你已经成功部署了一个Warden Protocol Chiado测试网的Validator节点。记住:
定期备份验证者私钥和钱包助记词
监控节点状态,确保正常运行
参与社区,关注网络升级和重要公告
持续学习Warden Protocol的新功能和最佳实践
如果遇到问题,不要犹豫向社区寻求帮助。测试网的目的就是让大家学习和实验,为主网做好准备!
警告:测试网随时可能重置,不要在测试网上存储重要资产。本教程仅用于学习和测试目的。
