# nibiru测试网节点搭建教程

By [歪脖三](https://paragraph.com/@0xc0c5d0934cdb602a373c991acb8bf50dcbb5ce8c) · 2023-03-14

---

安装基础环境
------

安装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](https://nibiru.explorers.guru/validators)

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

### 填表

然后去填表[gleam](https://gleam.io/yW6Ho/nibiru-incentivized-testnet-registration)

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

### 常用命令

#### 服务管理

检查日志

    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

---

*Originally published on [歪脖三](https://paragraph.com/@0xc0c5d0934cdb602a373c991acb8bf50dcbb5ce8c/nibiru)*
