Cosmos Nodes
January 9, 2023

Nois Network Node Guide | Ноиз гайд по ноде

Требования к серверу:

Минимальные: 4/8/100

Рекомендуемые: 8/32/200

я пока взяла СPХ31 хетцнере

Установка

Подготавливаем сервер:

sudo apt update

sudo apt install -y make gcc build-essential git jq

Устанавливаем GO:

go_package_url="https://go.dev/dl/go1.18.linux-amd64.tar.gz"

go_package_file_name=${go_package_url##*\/}

wget -q $go_package_url

sudo tar -C /usr/local -xzf $go_package_file_name

echo "export PATH=\$PATH:/usr/local/go/bin" >>~/.profile

echo "export PATH=\$PATH:\$(go env GOPATH)/bin" >>~/.profile

echo "export CONFIG_DIR=$HOME/.noisd/config" >>~/.profile

echo "NODE_MONIKER=YOUR_NODE_MONIKER" >>~/.profile
#азменить YOUR_NODE_MONIKER на имя своей ноды

source ~/.profile

Копируем репозиторий:

git clone https://github.com/noislabs/full-node.git

cd full-node/full-node/

git checkout nois-testnet-003

Запускаем билд:

./build.sh

sudo mv out/noisd /usr/local/bin

Проверяем версию ноды:

noisd version

Задаем время блока и параметры газа:

sed -i 's/minimum-gas-prices =.*$/minimum-gas-prices = "0.05unois"/' $CONFIG_DIR/app.toml

sed -i 's/^timeout_propose =.*$/timeout_propose = "2000ms"/' $CONFIG_DIR/config.toml \
  && sed -i 's/^timeout_propose_delta =.*$/timeout_propose_delta = "500ms"/' $CONFIG_DIR/config.toml \
  && sed -i 's/^timeout_prevote =.*$/timeout_prevote = "1s"/' $CONFIG_DIR/config.toml \
  && sed -i 's/^timeout_prevote_delta =.*$/timeout_prevote_delta = "500ms"/' $CONFIG_DIR/config.toml \
  && sed -i 's/^timeout_precommit =.*$/timeout_precommit = "1s"/' $CONFIG_DIR/config.toml \
  && sed -i 's/^timeout_precommit_delta =.*$/timeout_precommit_delta = "500ms"/' $CONFIG_DIR/config.toml \
  && sed -i 's/^timeout_commit =.*$/timeout_commit = "1800ms"/' $CONFIG_DIR/config.toml

Инициализируем ноду:

noisd init "$NODE_MONIKER" --chain-id nois-testnet-003

Выкачиваем генезис файл:

wget -O "$HOME/.noisd/config/genesis.json" https://raw.githubusercontent.com/noislabs/testnets/main/nois-testnet-003/genesis.json

Создаем сервисный файл:

sudo tee /etc/systemd/system/noisd.service > /dev/null << EOF
[Unit]
Description=Noisd Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which noisd) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF

Добавляем пиры и адрбук:

PEERS="ac9122b2c10577bfd52aa248c6344370aff164aa@nois-testnet.nodejumper.io:29656,[email protected]:33656,[email protected]:26646,[email protected]:26156,[email protected]:26656,[email protected]:31656,[email protected]:26656,[email protected]:26656,[email protected]:30656,[email protected]:17656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:17356,[email protected]:26656,[email protected]:26656,[email protected]:30656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:34656,[email protected]:26656,[email protected]:35656,[email protected]:29656,[email protected]:26656,[email protected]:46656,[email protected]:26656,[email protected]:60556,[email protected]:22656,[email protected]:26656,[email protected]:10656,[email protected]:26656,[email protected]:26656,[email protected]:26056,[email protected]:20656,[email protected]:15648,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:36656,[email protected]:26656,[email protected]:28656,[email protected]:26656,[email protected]:46656,[email protected]:26656,[email protected]:27060,[email protected]:30656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:28656,[email protected]:30656,[email protected]:26656,[email protected]:13656,[email protected]:26656,[email protected]:56656,[email protected]:26656,[email protected]:56656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26636,[email protected]:29656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:30656,[email protected]:17356,[email protected]:59656,[email protected]:26656,[email protected]:26656,[email protected]:32656,[email protected]:11174,[email protected]:26656,[email protected]:32656,[email protected]:17356,[email protected]:46656,[email protected]:26656,[email protected]:60756,[email protected]:26656,[email protected]:31656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.noisd/config/config.toml
curl -s https://snapshots3-testnet.nodejumper.io/nois-testnet/addrbook.json > $HOME/.noisd/config/addrbook.json

Запускаем сервисный файл:

sudo systemctl daemon-reload

sudo systemctl enable noisd

sudo systemctl start noisd

sudo systemctl status noisd

Просмотр логов:

sudo journalctl -u noisd -f --no-hostname -o cat

Проверка синхронизации ноды:

noisd status 2>&1 | jq .SyncInfo.catching_up
#true - нода в процессе синхронизации
#false - нода синхронизирована

Создание кошелька:

noisd keys add wallet
#сохраните данные кошелька!!!

cat $HOME/.noisd/config/priv_validator_key.json
#сохраните ключи!!!

Запрашиваем токены в кране в дискорде

Проверяем баланс:

noisd q bank balances $(noisd keys show wallet -a)

После того, как Ваша нода синхронизирована - переходим к созданию валидатора(заменить YOUR_VALIDATOR_MONIKER на моникер своего валидатора):

noisd tx staking create-validator \
--amount=9000000unois \
--pubkey=$(noisd tendermint show-validator) \
--moniker="YOUR_VALIDATOR_MONIKER" \
--chain-id=nois-testnet-003 \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.05 \
--min-self-delegation=1 \
--fees=2000unois \
--from=wallet \
-y

Проверить данные валидатора:

noisd q staking validator $(noisd keys show wallet --bech val -a)

Эксплорер сети тут

Snapshot

sudo apt update

sudo apt install lz4 -y

sudo systemctl stop noisd

cp $HOME/.noisd/data/priv_validator_state.json $HOME/.noisd/priv_validator_state.json.backup

noisd tendermint unsafe-reset-all --home $HOME/.noisd --keep-addr-book

SNAP_NAME=$(curl -s https://snapshots3-testnet.nodejumper.io/nois-testnet/ | egrep -o ">nois-testnet-003.*\.tar.lz4" | tr -d ">")

curl https://snapshots3-testnet.nodejumper.io/nois-testnet/${SNAP_NAME} | lz4 -dc - | tar -xf - -C $HOME/.noisd

mv $HOME/.noisd/priv_validator_state.json.backup $HOME/.noisd/data/priv_validator_state.json

PEERS="ac9122b2c10577bfd52aa248c6344370aff164aa@nois-testnet.nodejumper.io:29656,[email protected]:33656,[email protected]:26646,[email protected]:26156,[email protected]:26656,[email protected]:31656,[email protected]:26656,[email protected]:26656,[email protected]:30656,[email protected]:17656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:17356,[email protected]:26656,[email protected]:26656,[email protected]:30656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:34656,[email protected]:26656,[email protected]:35656,[email protected]:29656,[email protected]:26656,[email protected]:46656,[email protected]:26656,[email protected]:60556,[email protected]:22656,[email protected]:26656,[email protected]:10656,[email protected]:26656,[email protected]:26656,[email protected]:26056,[email protected]:20656,[email protected]:15648,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:36656,[email protected]:26656,[email protected]:28656,[email protected]:26656,[email protected]:46656,[email protected]:26656,[email protected]:27060,[email protected]:30656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:28656,[email protected]:30656,[email protected]:26656,[email protected]:13656,[email protected]:26656,[email protected]:56656,[email protected]:26656,[email protected]:56656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26636,[email protected]:29656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:30656,[email protected]:17356,[email protected]:59656,[email protected]:26656,[email protected]:26656,[email protected]:32656,[email protected]:11174,[email protected]:26656,[email protected]:32656,[email protected]:17356,[email protected]:46656,[email protected]:26656,[email protected]:60756,[email protected]:26656,[email protected]:31656"

sed -i 's|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.noisd/config/config.toml

curl -s https://snapshots3-testnet.nodejumper.io/nois-testnet/addrbook.json > $HOME/.noisd/config/addrbook.json

sudo systemctl daemon-reload

sudo systemctl enable noisd

sudo systemctl restart noisd

sudo systemctl status noisd

Проверяем логи:

sudo journalctl -u noisd -f --no-hostname -o cat

Спасибо за внимание! И поздравляю с новой нодой!
@kulikovae

Smart Hamster Nodes Studio

YouTube канал тут!

Наша новостная группа тут!

Курс "Обучение по нодам" тут!