Nibiru是一个基于Cosmos Sdk的DEFI Hub,为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了750万美元,Tribe captital, Kraken参投,估值1亿美元。近期,激励性测试网1刚刚开放,明牌有奖励。要KYC。
NIT #1 的主要重点是测试Nibiru 的 Oracle 模块,它通过对加密资产对之间的汇率进行投票来管理验证者节点充当预言机的过程。由于此过程的投票权直接映射到权益证明中的投票权,因此激励测试网这一阶段的大部分任务都与质押相关。
测试网注册:
https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration
Nibiru Discord:
本文为验证者节点教程。
创建验证人(无论是否活跃)有75分。您只需要同步一个完整的节点并发送一个创建验证人交易。从来没有被削减有额外的50分。
官方教程
https://nibiru.fi/docs/run-nodes/testnet/
最低配置
- 2 CPU
- 8 GB RAM (官方教程写的要求偏高,实际8GB+即可)
- 100GB SSD+ (建议大一点 200-300gb)
安装基础环境
安装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="df8596fa04abeff1d15b79570ff8c3eba85ed87a@35.185.8.9:26656,4a81486786a7c744691dc500360efcdaf22f0840@15.235.46.50:26656,c709cad9e11b315644fe8f1d2e90c03c5cba685c@34.91.8.241:26656,930b1eb3f0e57b97574ed44cb53b69fb65722786@144.76.30.36:15662,ad002a4592e7bcdfff31eedd8cee7763b39601e7@65.109.122.105:36656"
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://snapshot.silentvalidator.com/testnet/nibiru/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
即已经同步上。如果一直没有开始同步一般是因为peer不够,可以考虑添加Peer或者使用别人的addrbook。
使用snapshot同步(可选)
cd $HOME
sudo apt install snapd -y
sudo snap install lz4
sudo systemctl stop nibid
nibid tendermint unsafe-reset-all --home $HOME/.nibid --keep-addr-book
wget -O nibiru.tar.lz4 https://snapshot.silentvalidator.com/testnet/nibiru/nibiru-2023-02-27T15%3A52.tar.lz4 --inet4-only
lz4 -c -d nibiru.tar.lz4 | tar -x -C $HOME/.nibid
sudo systemctl start nibid
创建验证人
创建钱包
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
之后可以去区块浏览器
查看你的验证人是否创建成功。
常用命令
服务管理
检查日志
sudo journalctl -u nibid -f
运行/重启节点
sudo systemctl restart nibid
停止节点
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