Cover photo

nibiru测试网节点搭建教程

安装基础环境

安装go

sudo rm -rf /usr/local/go;
curl https://dl.google.com/go/go1.19.2.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat <<'EOF' >>$HOME/.bashrc
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/.bashrc

安装完成后运行以下命令查看版本

go version

安装其他必要的环境

sudo apt-get update -y
sudo apt-get install curl build-essential jq git -y;

下载源代码并编译

cd
git clone https://github.com/NibiruChain/nibiru
cd nibiru
git checkout  v0.19.2
make install

安装完成后可以运行 nibid version检查是否安装成功。

显示应为v0.19.2

运行节点

初始化节点

moniker=你的节点名
nibid init $moniker --chain-id=nibiru-itn-1
nibid config chain-id nibiru-itn-1

下载Genesis 文件

curl -s https://rpc.itn-1.nibiru.fi/genesis | jq -r .result.genesis >  ~/.nibid/config/genesis.json

设置peer和seed

cd
PEERS="3edc21dd665cd1e8aa559e0226768698186f5a7e@43.130.228.99:26656,7dc07b37fc8f3e77b691de71eff821f0b64d1d2b@43.154.81.56:26656,17ae42154fcf7106ae1da3795e2e8a296323df6d@216.250.122.228:39656,b2c162da315d2e57b1cf86b2f8a2769e3c30e479@43.154.185.150:26656,b6fe0cb29a6cca2acd41aade05c46272db5c7c0c@209.126.83.209:26656,b9673d99e5d6bd1f8fe7b62d119164b316fc917c@10.16.0.60:26656"
seeds="a431d3d1b451629a21799963d9eb10d83e261d2c@seed-1.itn-1.nibiru.fi:26656,6a78a2a5f19c93661a493ecbe69afc72b5c54117@seed-2.itn-1.nibiru.fi:26656"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.nibid/config/config.toml
sed -i.bak -e "s/^seeds *=.*/seeds = \"$seeds\"/" ~/.nibid/config/config.toml

Pruning设置

pruning="custom" && \
pruning_keep_recent="100" && \
pruning_keep_every="0" && \
pruning_interval="10" && \
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.nibid/config/app.toml && \
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.nibid/config/app.toml && \
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.nibid/config/app.toml && \
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.nibid/config/app.toml

下载addrbook

wget -O $HOME/.nibid/config/addrbook.json https://ss-t.nibiru.nodestake.top/addrbook.json

启动节点

sudo tee <<EOF >/dev/null /etc/systemd/system/nibid.service
[Unit]
Description=nibid daemon
After=network-online.target
[Service]
User=$USER
ExecStart=$(which nibid) start
Restart=on-failure
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload && \
sudo systemctl enable nibid && \
sudo systemctl start nibid

查看日志

sudo journalctl -u nibid -f

检查同步状态

curl -s localhost:26657/status | jq .result | jq .sync_info

同步需要一段时间,其中显示 "catching_up":显示为false即已经同步上。注意如果时间显示为1970年,或者如果一直没有开始同步一般是因为peer不够,可以考虑添加Peer或者使用别人的addrbook。

创建验证人

创建钱包

nibid keys add 钱包名

注意请保存助记词。若不保存,之后将无法恢复。

领取测试币

ADDR=你的niniru地址
FAUCET_URL="https://faucet.itn-1.nibiru.fi/"
curl -X POST -d '{"address": "'"$ADDR"'", "coins": ["11000000unibi","100000000unusd","100000000uusdt"]}' $FAUCET_URL

节点同步之后可以用

nibid query bank balances 你的nibiru地址

查询测试币余额。

创建验证人

获取足够测试币,且节点完成同步后,可以创建验证人。只有质押量在前100的验证人才是活跃验证人。本次激励性测试网。验证人不论活跃与否都有奖励。

daemon=nibid
denom=unibi
moniker=验证人名
chainid=nibiru-itn-1
$daemon tx staking create-validator \
    --amount=1000000$denom \
    --pubkey=$($daemon tendermint show-validator) \
    --moniker=$moniker \
    --chain-id=$chainid \
    --commission-rate=0.05 \
    --commission-max-rate=0.2 \
    --commission-max-change-rate=0.1 \
    --min-self-delegation=1000000 \
    --from=钱包名 \
    --fees=10000unibi

之后可以去区块浏览器

https://nibiru.explorers.guru/validators

查看你的验证人是否创建成功。

填表

然后去填表gleam

搭建节点到这里就结束了 后面就是一些常用的命令

常用命令

服务管理

检查日志

sudo journalctl -u nibid -f

运行/重启节点

停止节点

sudo systemctl stop nibid

节点信息

同步信息

nibid status 2>&1 | jq .SyncInfo

验证人信息

nibid status 2>&1 | jq .ValidatorInfo

节点信息

nibid status 2>&1 | jq .NodeInfo

获取node id

nibid tendermint show-node-id

钱包操作

显示所有钱包

nibid keys list

恢复钱包

nibid keys add <你的钱包名> --recover

删除钱包

nibid keys delete <你的钱包名>

查询余额

nibid query bank balances <接收者nibiru地址>

发送代币

nibid tx bank send <你的钱包名> <接收者nibiru地址> 数量unibi --from <你的钱包名> -y --fees 10000unibi

注意:1nibi=1000000unibi

投票

nibid tx gov vote <提案编号> <投票选项> --from <你的钱包名> -y --fees 10000unibi

投票选项包括yes/no/no_with_veto/abstain。大部分情况我们投yes就好。

质押,提取奖励

质押

nibid tx staking delegate <你要质押的验证人地址> 数量unibi --from <你的钱包名> -y --fees 10000unibi

解除质押

nibid tx staking unbond <你要解除质押的验证人地址> 数量unibi --from <你的钱包名> -y --fees 10000unibi

提取质押奖励和验证人佣金

nibid tx distribution withdraw-rewards <你的验证人地址> --commission --from <你的钱包名> -y --fees 10000unibi

提取所有奖励

nibid tx distribution withdraw-all-rewards --from=<你的钱包名> -y --fees 10000unibi

验证人管理

修改验证人信息

nibid tx staking edit-validator \
  --moniker=<节点名> \
  --identity=<你的keybase id> \
  --website="<你的网站>" \
  --details="<你的验证人描述>" \
  --from=<你的钱包名> \
  --fees 10000unibi

假如你想在区块浏览器显示你的验证人logo。需要注册一个keybase账号,上传logo。在验证人信息中设置--identity=<你的keybase id>,区块链浏览器中就会显示你的keybase logo作为验证人logo。

Unjail

nibid tx slashing unjail --from <你的钱包名> -y