# Nibiru public testnet phase 2 节点教程 **Published by:** [Silent ⚛| validator](https://paragraph.com/@exploring/) **Published on:** 2022-12-24 **URL:** https://paragraph.com/@exploring/nibiru-public-testnet-phase-2 ## Content Cosmos生态近期火热。Nibiru是一个基于Cosmos Sdk的DEFI Hub,为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了750万美元,Tribe captital, Kraken, Republic Crypto,Guardian 创始人Strafach guardian参投,估值1亿美元。 近期其开放了公开测试网,目前为测试网的第二阶段,不是激励性测试网,目前开发者和节点运营者和用户可以参与。建议体验为主,为接下来的激励测试网做准备。 Nibiru 第二阶段测试网 本教程仅供参考,请以官方教程为准。 官方教程 https://docs.nibiru.fi/run-nodes/testnet/# 最低要求 4CPU 8GB RAM 100GB of disk space (SSD) 安装基础环境 本教程使用的系统为Ubuntu20.04,其他系统的部分命令请自行调整。建议用国外的VPS。 安装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/.profile 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/.profile 安装完成后运行以下命令查看版本 go version 安装其他必要的环境 sudo apt-get update -y && sudo apt-get upgrade -y; sudo apt-get install curl build-essential jq git -y; 下载源代码并编译 cd git clone https://github.com/NibiruChain/nibiru cd nibiru git checkout v0.16.3 make install 安装完成后可以运行 nibid version检查是否安装成功。 显示应为v0.16.3 运行节点 初始化节点 moniker=你的节点名 nibid init $moniker --chain-id=nibiru-testnet-2 nibid config chain-id nibiru-testnet-2 下载genesis文件 curl -s https://rpc.testnet-2.nibiru.fi/genesis | jq -r .result.genesis > $HOME/.nibid/config/genesis.json 设置peer和seed PEERS="5eecfdf089428a5a8e52d05d18aae1ad8503d14c@65.108.141.109:19656,5c30c7e8240f2c4108822020ae95d7b5da727e54@65.108.75.107:19656" seeds="" 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 state-sync 快速同步 SNAP_RPC="https://rpc.nibiru-testnet-2.silentvalidator.com:443" \ LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \ BLOCK_HEIGHT=$((LATEST_HEIGHT - 500)); \ TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash); \ echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH #if there are no errors, then continue peers="5eecfdf089428a5a8e52d05d18aae1ad8503d14c@65.108.141.109:19656,5c30c7e8240f2c4108822020ae95d7b5da727e54@65.108.75.107:19656" sed -i 's|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.nibid/config/config.toml sed -i -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \ s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \ s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \ s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.nibid/config/config.toml 启动节点 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。 紧急升级 由于v0.16.2版本有Bug,如果你的nibid版本仍为v0.16.2,很有可能已经卡住。需要升级到新版本v0.16.3,升级办法如下 cd $HOME cd nibiru git pull git checkout v0.16.3 make install sudo systemctl restart nibid 更换addrbook wget -O $HOME/.nibid/config/addrbook.json "https://raw.githubusercontent.com/BccNodes/Snapshot-Statesync/main/Nibiru%20Testnet-2/addrbook.json" 创建验证人 创建钱包 nibid keys add 钱包名 注意请保存助记词。若不保存,之后将无法恢复。 领取测试币 进入nibiru discord https://discord.gg/nsV3a5CdC9 在 #faucet 频道发送 $request 你的nibiru地址 之后可以用 nibid query bank balances 你的nibiru地址 查询测试币余额。 创建验证人 获取足够测试币,且节点完成同步后,可以创建验证人。只有质押量在前100的验证人才是活跃验证人。 daemon=nibid denom=unibi moniker=验证人名 chainid=nibiru-testnet-2 $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 \ --fees 5000unibi \ --from=钱包名 之后可以去区块浏览器查看你的验证人是否创建成功。 更多信息 官网: Nibiru | Built for the Evolving Decentralized Web Nibiru is a smart contract ecosystem with a high-performance, EVM-equivalent execution layer. Nibiru is engineered to meet the growing demand for versatile, scalable, and easy-to-use Web3 applications. https://nibiru.fi 官方推特: 官方文档: https://docs.nibiru.fi 欢迎关注 https://silentvalidator.com 其他常用命令 服务管理 检查日志 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 --chain-id=nibiru-testnet-2 --fees 5000unibi 注意:1nibi=1000000unibi 投票 nibid tx gov vote 提案编号 投票选项 --from 你的钱包名 -y --chain-id=nibiru-testnet-2 --fees 5000unibi 投票选项包括yes/no/no_with_veto/abstain。大部分情况我们投yes就好。 质押,提取奖励 质押 nibid tx staking delegate 你要质押的验证人地址 数量unibi --from 你的钱包名 -y --chain-id=nibiru-testnet-2 --fees 5000unibi 解除质押 nibid tx staking unbond 你要解除质押的验证人地址 数量unibi --from 你的钱包名 -y --chain-id=nibiru-testnet-2 --fees 5000unibi 提取质押奖励和验证人佣金 nibid tx distribution withdraw-rewards 你的验证人地址 --commission --from 你的钱包名 -y --chain-id=nibiru-testnet-2 --fees 5000unibi 提取所有奖励 nibid tx distribution withdraw-all-rewards --from=你的钱包名 -y --chain-id=nibiru-testnet-2 --fees 5000unibi 验证人管理 修改验证人信息 nibid tx staking edit-validator \ --new-moniker=节点名 \ --identity=你的keybase id \ --website="你的网站" \ --details="你的验证人描述" \ --from=你的钱包名 \ --fees 5000unibi \ --chain-id=nibiru-testnet-2 假如你想在区块浏览器显示你的验证人logo。需要注册一个keybase账号,上传logo。在验证人信息中设置--identity=你的keybase id,区块链浏览器中就会显示你的keybase logo作为验证人logo。 Unjail nibid tx slashing unjail --from <你的钱包名> -y --chain-id=nibiru-testnet-2 --fees 5000unibi ## Publication Information - [Silent ⚛| validator](https://paragraph.com/@exploring/): Publication homepage - [All Posts](https://paragraph.com/@exploring/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@exploring): Subscribe to updates - [Twitter](https://twitter.com/EthExploring): Follow on Twitter