Установка ноды Nibiru
Nibiru объединяет торговлю деривативами с кредитным плечом, спотовую торговлю, стейкинг и предоставление облигационной ликвидности в единый пользовательский интерфейс, позволяя пользователям более 40 блокчейнов торговать с кредитным плечом, используя набор компонуемых децентрализованных приложений.
Сайт проекта | Документация проекта | Discord | GitHub | Explorer
Telegram канал сообщества Starnodes
Видео-гайд по выполнению заданий 1й фазы награждаемого тестнета
https://youtu.be/jOPluMKjUZ4
Награды
Началась награждаемая фаза тестнета. С условиями наград можно ознакомиться по этой ссылке.
Системные требования
Используемые порты: 26657,26656,6060,9090,9091 tcp
Аренда сервера:
1) Хостинг Hetzner - неплохой хостинг для аренды VPS по соотношению цена-качество, подойдет для большинства нод.
2) Хостинг Starnodes - VPS сервера с большой ёмкостью NVME накопителя. Все сервера расположены в датацентре и работают 24/7.
Подготовка сервера
sudo apt update && sudo apt upgrade -y
Установим необходимое программное обеспечение:
sudo apt install curl chrony tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc htop mc -y
cd $HOME && \ ver="1.19.4" && \ wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \ sudo rm -rf /usr/local/go && \ sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \ rm "go$ver.linux-amd64.tar.gz" && \ echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \ source $HOME/.bash_profile && \ go version
Начало установки ноды:
MONIKER="MONIKERNAME" WALLET="MONIKERNAME_WALLET" CHAIN="nibiru-itn-1"
echo "export MONIKER=$MONIKER" >> $HOME/.bash_profile && \ echo "export WALLET=$WALLET" >> $HOME/.bash_profile && \ echo "export CHAIN=$CHAIN" >> $HOME/.bash_profile && \ source $HOME/.bash_profile
cd $HOME rm -rf ~/nibiru git clone https://github.com/NibiruChain/nibiru cd nibiru git fetch git checkout v0.19.2 make install nibid version
nibid config chain-id $CHAIN nibid config keyring-backend test nibid init $MONIKER --chain-id $CHAIN
curl -s https://rpc.itn-1.nibiru.fi/genesis | jq -r .result.genesis > $HOME/.nibid/config/genesis.json curl -s https://snapshots2-testnet.nodejumper.io/nibiru-testnet/addrbook.json > $HOME/.nibid/config/addrbook.json
SEEDS="3f472746f46493309650e5a033076689996c8881@nibiru-testnet.rpc.kjnodes.com:39659,[email protected]:26656,[email protected]:26656" PEERS="" sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.nibid/config/config.toml
pruning="custom" pruning_keep_recent="100" pruning_interval="10" sed -i.bak -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-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.nibid/config/app.toml
indexer="null" sed -i.bak -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.nibid/config/config.toml
Настраиваем минимальную цену за газ в app.toml
sed -i 's/minimum-gas-prices =.*/minimum-gas-prices = "0.0025unibi"/g' $HOME/.nibid/config/app.toml
При необходимости увеличиваем количество входящих и исходящих пиров для подключения. Это может помочь при падении ноды, но увеличит нагрузку.
sed -i.bak 's/max_num_inbound_peers =.*/max_num_inbound_peers = 50/g' $HOME/.nibid/config/config.toml sed -i.bak 's/max_num_outbound_peers =.*/max_num_outbound_peers = 50/g' $HOME/.nibid/config/config.toml
nibid tendermint unsafe-reset-all --home $HOME/.nibid --keep-addr-book
sudo tee /etc/systemd/system/nibid.service > /dev/null <<EOF [Unit] Description=nibid Node After=network.target [Service] User=$USER Type=simple ExecStart=$(which nibid) start Restart=on-failurerm LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
Далее можно стартовать со снапшота и не ждать долгой синхронизации:
curl https://snapshots2-testnet.nodejumper.io/nibiru-testnet/nibiru-itn-1_2023-02-28.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.nibid
Если архив не скачался, значит нужно посмотреть актуальную ссылку на загрузку:
https://snapshots2-testnet.nodejumper.io/nibiru-testnet/
Запускаем службу и добавляем в автозапуск:
sudo systemctl daemon-reload sudo systemctl enable nibid sudo systemctl restart nibid && sudo journalctl -u nibid -f --no-hostname -o cat
Проверить статус синхронизации:
nibid status 2>&1 | jq .SyncInfo
nibid keys add $WALLET
nibid keys add $WALLET --recover
Добавим адрес валидатора и кошелька в переменные для удобства:
VALOPER=$(nibid keys show $WALLET --bech val -a) && \ ADDRESS=$(nibid keys show $WALLET --address) && \ echo "export VALOPER=$VALOPER" >> $HOME/.bash_profile && \ echo "export ADDRESS=$ADDRESS" >> $HOME/.bash_profile && \ source $HOME/.bash_profile
Запросите токены с помощью curl, в Discord или Faucet на сайте.
https://discord.com/channels/947911971515293759/984840062871175219
addr=nibi.... curl -X POST -d '{"address": "'"$addr"'", "coins": ["11000000unibi","100000000unusd","100000000uusdt"]}' https://faucet.itn-1.nibiru.fi
nibid query bank balances $ADDRESS
Создать валидатора:
nibid tx staking create-validator \ --amount=10000000unibi \ --pubkey=$(nibid tendermint show-validator) \ --moniker=$MONIKER \ --chain-id=$CHAIN \ --commission-rate="0.10" \ --commission-max-rate="0.20" \ --commission-max-change-rate="0.05" \ --min-self-delegation=1000000 \ --fees=5000unibi \ --from=$WALLET \ -y
Бэкап: (обязательно)
Создаем каталог для бэкапа и копируем приватный ключ:
mkdir -p /home/backup/nibid cp $HOME/.nibid/config/priv_validator_key.json /home/backup/nibid
Далее загрузите файл на свой ПК из папки /home/backup/nibid
Удалить ноду:
sudo systemctl stop nibid sudo systemctl disable nibid sudo rm -rf /etc/systemd/system/nibid* sudo systemctl daemon-reload sudo rm $(which nibid) sudo rm -rf $HOME/.nibid sudo rm -fr $HOME/nibiru
Полезные команды:
# Логи службы ноды journalctl -u nibid -f -o cat # Управление службами systemctl status nibid systemctl stop nibid systemctl start nibid systemctl restart nibid # Проверить статус ноды nibid status 2>&1 | jq
# Посмотреть адрес кошелька echo $ADDRESS # Проверить баланс кошелька nibid q bank balances $ADDRESS # Отправка токенов 1 token = 1000000 (Cosmos) nibid tx bank send $WALLET <ADDRESS_TO> <TOKENS_COUNT>unibi --fees 5000unibi # Удалить кошелек nibid keys delete $WALLET
! Если транзакции не отправляются с ошибкой account sequence mismatch, expected 18, got 17: incorrect account sequence, то добавьте в команду ключ -s 18 (номер замените на тот, который ждет sequence)
# Проголосовать nibid tx gov vote 1 yes --from $WALLET --fees 5000unibi -y # Посмотреть пропосалы, где вы проголосовали nibid q gov proposals --voter $ADDRESS
# Получить адрес валидатора (valoper) echo $VALOPER # Изменить данные валидатора nibid tx staking edit-validator --website="<YOUR_WEBSITE>" --details="<YOUR_DESCRIPTION>" --moniker="<YOUR_NEW_MONIKER>" --from=$WALLET --fees 5000unibi # Выйти из тютьмы nibid tx slashing unjail --from $WALLET --fees 5000unibi # Делегировать токены вашему валидатору nibid tx staking delegate $VALOPER <TOKENS_COUNT>unibi --from $WALLET --fees 5000unibi -y # Ределегировать стейк на другого валидатора nibid tx staking redelegate <src-validator-addr> <dst-validator-addr> 1000000unibi --from $WALLET --fees 5000unibi -y # Сбросить валидатора, удалить базу и addrbook.json nibid tendermint unsafe-reset-all --home $HOME/.nibid
@starnodes_ru - наш канал в Telegram с новостями и гайдами по тестнетам.
@starnodes_chat - канал, куда можно обратиться за помощью.