# Nibiru public testnet phase 2 节点教程


By [Silent ⚛| validator](https://paragraph.com/@exploring) · 2022-12-24

---

Cosmos生态近期火热。Nibiru是一个基于Cosmos Sdk的DEFI Hub，为衍生品和现货交易提供动力。安全、无需许可、完全上链。其种子轮融资了750万美元，Tribe captital, Kraken, Republic Crypto，Guardian 创始人Strafach guardian参投,估值1亿美元。

近期其开放了公开测试网，目前为测试网的第二阶段，**不是激励性测试网**，目前开发者和节点运营者和用户可以参与。**建议体验为主，为接下来的激励测试网做准备**。

![Nibiru 第二阶段测试网](https://storage.googleapis.com/papyrus_images/b680a248a8f8957b033c2266583e7c354b8d5ec8c2fb63864f7091dd4289f6a9.jpg)

Nibiru 第二阶段测试网

**_本教程仅供参考，请以官方教程为准。_**

官方教程
----

[https://docs.nibiru.fi/run-nodes/testnet/#](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](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=钱包名 
    

之后可以去[区块浏览器](https://nibiru.explorers.guru/)查看你的验证人是否创建成功。

更多信息
----

官网：

[

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://storage.googleapis.com/papyrus_images/a8eb7e4f0eaa506cfb14bf9f08e04defc4efba27763489e4b0ef3493aad7d9c5.png)

](https://nibiru.fi/)

官方推特：

官方文档： [https://docs.nibiru.fi](https://t.co/tqGATv7ks9)

欢迎关注 [https://silentvalidator.com](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

---

*Originally published on [Silent ⚛| validator](https://paragraph.com/@exploring/nibiru-public-testnet-phase-2)*
