namada的公共测试网开启了,可以参与。但是没有激励。
一台服务器,硬件配置
cpu 4核以上
内存 8G以上
硬盘空间500G
确保你的机器开启26656和26657 两个端口
如果你用vps作为服务器,如何选择以及如何开启可以查看我之前的文章
安装以及更新一些依赖库
这部分复制粘贴更新安装就行了
cd $HOME
sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev libclang-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y
sudo apt install -y uidmap dbus-user-session
继续安装下载rust
sudo curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
安装go
if ! [ -x "$(command -v go)" ]; then
ver="1.19.4"
cd $HOME
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" >> ~/.bash_profile
source ~/.bash_profile
fi
设置一些变量
注意:VALIDATOR_ALIAS 那里设置你自己的别名
echo "export NAMADA_TAG=v0.12.1" >> ~/.bash_profile
echo "export TM_HASH=v0.1.4-abciplus" >> ~/.bash_profile
echo "export CHAIN_ID=public-testnet-1.0.05ab4adb9db" >> ~/.bash_profile
echo "export VALIDATOR_ALIAS=change_your_validator_name" >> ~/.bash_profile
source ~/.bash_profile
接着github上下载namada 并编译,过程会有点久,耐心等待完成
cd $HOME && git clone https://github.com/anoma/namada && cd namada && git checkout $NAMADA_TAG
make build-release
接着github上下载tendermint 并编译
cd $HOME && git clone https://github.com/heliaxdev/tendermint && cd tendermint && git checkout $TM_HASH
make build
接着吧两个编译后的都添加到环境变量
cd $HOME && cp $HOME/tendermint/build/tendermint /usr/local/bin/tendermint && cp "$HOME/namada/target/release/namada" /usr/local/bin/namada && cp "$HOME/namada/target/release/namadac" /usr/local/bin/namadac && cp "$HOME/namada/target/release/namadan" /usr/local/bin/namadan && cp "$HOME/namada/target/release/namadaw" /usr/local/bin/namadaw
查看tendermint 和namada 的版本号
tendermint version
namada --version
都能显示版本号,就是成功了
加入网络
cd $HOME && namada client utils join-network --chain-id $CHAIN_ID
添加到系统服务
sudo tee /etc/systemd/system/namadad.service > /dev/null <<EOF
[Unit]
Description=namada
After=network-online.target
[Service]
User=root
WorkingDirectory=$HOME/.namada
Environment=NAMADA_LOG=debug
Environment=NAMADA_TM_STDOUT=true
ExecStart=/usr/local/bin/namada --base-dir=$HOME/.namada node ledger run
StandardOutput=syslog
StandardError=syslog
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
启动服务查看同步日志
sudo systemctl daemon-reload
sudo systemctl enable namadad
sudo systemctl restart namadad && sudo journalctl -u namadad -f -o cat
可以看到如下
等待同步到当前高度,当前高度可以去官方区块浏览器查看
等待全节点同步完成,这个过程也需要一段时间。
注意:运行这里需要节点同步完成才能进行
生成钱包 wallet_name 可以自己选择名字
namada wallet address gen --alias wallet_name
第一次创建过程会让你输入额外的密钥,输入后自己能记住就行
接着初始化验证。 wallet_name 是你自己选择的名字 同上
namada client init-validator --alias $VALIDATOR_ALIAS --source wallet_name --commission-rate 0.05 --max-commission-rate-change 0.01
成功后水龙头领取测试代币
cd $HOME
namadac transfer \
--token NAM \
--amount 1000 \
--source faucet \
--target $VALIDATOR_ALIAS \
--signer $VALIDATOR_ALIAS
因为最小质押金额为1000 ,所以你可以多领取几次
查询钱包余额
namada client balance --owner $VALIDATOR_ALIAS --token NAM
质押
namada client bond \
--validator $VALIDATOR_ALIAS \
--amount 1500
输出你的验证地址
export WALLET_ADDRESS=`cat "$HOME/.namada/public-testnet-1.0.05ab4adb9db/wallet.toml" | grep address`
echo -e '\n\e[45mYour wallet:' $WALLET_ADDRESS '\e[0m\n'
查看绑定质押的验证节点
namada client bonded-stake
如果namada官方更新了新版本,先去github更新新版本,然后重新编译后替换原来的,重启服务进程即可
cd $HOME/namada
NEWTAG=v0.12.2
git fetch
git checkout $NEWTAG
make build-release
cd $HOME && sudo systemctl stop namadad
rm /usr/local/bin/namada /usr/local/bin/namadac /usr/local/bin/namadan /usr/local/bin/namadaw
cd $HOME && cp "$HOME/namada/target/release/namada" /usr/local/bin/namada && cp "$HOME/namada/target/release/namadac" /usr/local/bin/namadac && cp "$HOME/namada/target/release/namadan" /usr/local/bin/namadan && cp "$HOME/namada/target/release/namadaw" /usr/local/bin/namadaw
sudo systemctl restart namadad
namada --version
sudo journalctl -u namadad -f -o cat
到这就完毕了
其实在准备写的时候发现已经有完善步骤教程了
可以直接查看:readme 一个国外老哥的教程,所以直接用他的步骤运行了一遍。
如有有什么建议或者意见可以推特联系 @dapaopao_eth