A guide to setting up a testnet validator node on the Nibiru testnet
# Dependencies
sudo apt-get update
sudo apt-get upgrade
sudo apt install git build-essential ufw curl jq snapd --yes
# Install Go
wget <https://golang.org/dl/go1.18.2.linux-amd64.tar.gz>
sudo tar -C /usr/local -xzf go1.18.2.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.profile
source ~/.profile
cd $HOME
git clone <https://github.com/NibiruChain/nibiru>
cd nibiru
git checkout v0.15.0
make install
# Install from source
git clone <https://github.com/cosmos/cosmos-sdk>
cd cosmos-sdk
git checkout cosmovisor/v1.2.0
make cosmovisor
cp cosmovisor/cosmovisor /home/ubuntu/go/bin/cosmovisor
cd $HOME
# Environment variables
export DAEMON_NAME=nibid
export DAEMON_HOME=$HOME/.nibid
source ~/.profile
# Create required directories
mkdir -p $DAEMON_HOME/cosmovisor/genesis/bin
mkdir -p $DAEMON_HOME/cosmovisor/upgrades
# Copy nibid binary to cosmosvisor genesis folder
cp /home/ubuntu/go/bin/nibid $DAEMON_HOME/cosmovisor/genesis/bin
# Create system service for cosmovisor
sudo nano /etc/systemd/system/cosmovisor.service
[Unit]
Description=Cosmovisor for Nibiru Node
Requires=network-online.target
After=network-online.target
[Service]
Type=exec
User=ubuntu
ExecStart=/home/ubuntu/go/bin/cosmovisor run start --home /home/ubuntu/.nibid
Restart=on-failure
RestartSec=3
Environment="DAEMON_NAME=nibid"
Environment="DAEMON_HOME=/home/ubuntu/.nibid"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="DAEMON_LOG_BUFFER_SIZE=512"
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
# Enable service
sudo systemctl daemon-reload
sudo systemctl enable cosmovisor.service
sudo systemctl start cosmovisor
# Monitor
journalctl -fu cosmovisor -o cat
Make sure your node is fully synced before you register, you can check with
nibid status | jq .SyncInfo
, make sure catching_up
is false
before you proceed.
Faucet
FAUCET_URL="<https://faucet.testnet-1.nibiru.fi/>"
ADDR="..." # your address
curl -X POST -d '{"address": "'"$ADDR"'", "coins": ["10000000unibi","100000000000unusd"]}' $FAUCET_URL
ADDR1="nibi1706u4adcy2uktjf8pj5qlx7ry2s75a9xlv5epv"
ADDR2="nibi1z7xek8tlss4vcgerxr9sw34x59ds4kjfwzh59z"
ADDR3="nibi1xw6cxkqdpe2l7eegl39s2gej06kyry46urt6xe"
Register
nibid tx staking create-validator \\
--amount 9000000unibi \\
--commission-max-change-rate "0.1" \\
--commission-max-rate "0.20" \\
--commission-rate "0.1" \\
--min-self-delegation "1" \\
--pubkey=$(nibid tendermint show-validator) \\
--moniker "Lydia Labs" \\
--chain-id nibiru-testnet-1 \\
--gas-prices 0.025unibi \\
--from LLKeyKeplr