Warden Protocol Chiado 测试网 Validator 完整部署教程

Warden Protocol Chiado 测试网 Validator 完整部署教程

什么是 Warden Protocol?

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+

# 下载并安装 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

第二步:安装 wardend 并初始化节点

方法一:使用预编译二进制文件(推荐初学者)

# 创建工作目录
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

获取测试币

由于官方水龙头可能有变化,建议通过以下方式获取测试币:

  1. 加入官方Discord: https://discord.com/invite/wardenprotocol

  2. #chiado-faucet频道申请: $request你的钱包地址

  3. 使用水龙头网站https://faucet.chiado.wardenprotocol.org/

# 检查余额
wardend query bank balances $(wardend keys show mykey -a)

第六步:创建 Validator

获取验证者公钥

# 获取节点公钥
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}'

解除监禁(如果被jail)

# 查看验证者是否被监禁
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 "请手动备份钱包助记词到安全位置!"

安全建议

  1. 防火墙配置

# 开放必要端口
sudo ufw allow 22        # SSH
sudo ufw allow 26656     # P2P
sudo ufw allow 26657     # RPC (可选,仅本地访问)
sudo ufw enable
  1. SSH安全

    • 使用密钥认证而非密码

    • 更改默认SSH端口

    • 禁用root直接登录

  2. 监控告警

    • 设置节点离线告警

    • 监控磁盘空间

    • 关注网络延迟


第十步:故障排除

常见问题及解决方案

问题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

有用的资源链接


结语

恭喜你!你已经成功部署了一个Warden Protocol Chiado测试网的Validator节点。记住:

  1. 定期备份验证者私钥和钱包助记词

  2. 监控节点状态,确保正常运行

  3. 参与社区,关注网络升级和重要公告

  4. 持续学习Warden Protocol的新功能和最佳实践

如果遇到问题,不要犹豫向社区寻求帮助。测试网的目的就是让大家学习和实验,为主网做好准备!

警告:测试网随时可能重置,不要在测试网上存储重要资产。本教程仅用于学习和测试目的。