Установка ноды NOLUS
Здравствуйте сегодня мы расскажем об установке ноды Nolus Protocol
Оригинальная инструкция находится тут.
Nolus Protocol — это финансовый набор Web3 инструментов, который предлагает инновационный подход к денежным рынкам с новыми решениями для дальнейшего развития сегмента DeFi. В протоколе используется молниеносный полу-разрешенный «Proof of Stake» L1, построенный с использованием Cosmos SDK, где смарт-контракты разрабатываются на Rust и выполняются в рамках модели изолированной песочницы CosmWASM, обеспечивая безопасность и совместимость с многими сетями.
Минимальные требования для сервера
4GB RAM 120GB of disk space 2Cores CPU
Краткую инструкцию по аренде сервера можно посмотреть тут
Как установить несколько нод на один сервер можно почитать тут
Подробный разбор по установке нод Cosmos можно посмотреть тут.
Если будете выбирать сервер на Hetzner можете воспользоваться нашей ссылкой, будем благодарны.
Как всегда обновляем наш сервер
sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y
Устанавливаем go и проверяем версию
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
После этого скачиваем и устанавливаем бинарник
cd $HOME git clone https://github.com/Nolus-Protocol/nolus-core && cd nolus-core git checkout v0.1.39 make install cd $HOME
nolusd version --long вывод: # version: 0.1.39 # commit: 9ca56877c69aa4dbda9fdd82223dbbeebab594a6
Задаем переменные (CHAIN оставляем без изменений, в остальные вписываем свои данные)
NOLUS_CHAIN="nolus-rila" NOLUS_MONIKER="your_name" NOLUS_WALLET="your_name"
echo 'export NOLUS_CHAIN='${NOLUS_CHAIN} >> $HOME/.bash_profile echo 'export NOLUS_MONIKER='${NOLUS_MONIKER} >> $HOME/.bash_profile echo 'export NOLUS_WALLET='${NOLUS_WALLET} >> $HOME/.bash_profile source $HOME/.bash_profile
wget -O $HOME/.nolus/config/genesis.json "https://raw.githubusercontent.com/Nolus-Protocol/nolus-networks/main/testnet/nolus-rila/genesis.json"
sha256sum ~/.nolus/config/genesis.json Вывод: # d22ea6488afe58478c54afeb2d6b5a45622c797dfd75c91a8653eb1f094173c5
Настраиваем прунинг (по желанию)
pruning="custom" pruning_keep_recent="1000" pruning_interval="10" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.nolus/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.nolus/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.nolus/config/app.toml
Выключаем индексер (по желанию)
indexer="null" sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.nolus/config/config.toml
Задаём минимальную цену за газ
sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0025unls\"/;" ~/.nolus/config/app.toml
peers="56cee116ac477689df3b4d86cea5e49cfb450dda@54.246.232.38:26656,56f14005119e17ffb4ef3091886e6f7efd375bfd@34.241.107.0:26656,7f26067679b4323496319fda007a279b52387d77@63.35.222.83:26656,7f4a1876560d807bb049b2e0d0aa4c60cc83aa0a@63.32.88.49:26656,3889ba7efc588b6ec6bdef55a7295f3dd559ebd7@3.249.209.26:26656,de7b54f988a5d086656dcb588f079eb7367f6033@34.244.137.169:26656" sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.nolus/config/config.toml
sudo tee /etc/systemd/system/nolusd.service > /dev/null <<EOF [Unit] Description=Nolus Network Daemon After=network-online.target
[Service] User=$USER ExecStart=$(which nolusd) start Restart=always RestartSec=3 LimitNOFILE=4096
sudo systemctl daemon-reload sudo systemctl enable nolusd sudo systemctl start nolusd
Смотрим логи и ждем когда нода начнет синхронизироваться
Или смотрим статус синхронизации (когда "catching_up": false то нода синхронизирована)
После синхронизации создаем кошелек (не забываем сохранить мнемоник)
Если кошелек уже есть то восстанавливаем с помощью мнемоника
Добавляем переменную с адресом кошелька
Добавляем переменную в баш профиль
echo 'export NOLUS_ADDR='${NOLUS_ADDR} >> $HOME/.bash_profile source $HOME/.bash_profile
Теперь нам необходимо получить средства на кошелек. Для этого переходим в дискорд в канал #testnet-faucet по ссылке, и запрашиваем токены на баланс.
После запроса проверяем баланс
Если средства успешно поступили, то создаем валидатора (сумму указывайте свою, сколько хотите делегировать с кошелька, указывайте чуть меньше что бы хватило на комиссию)
nolusd tx staking create-validator \ --amount=1000000unls \ --pubkey=$(nolusd tendermint show-validator) \ --moniker=$NOLUS_MONIKER \ --chain-id=$NOLUS_CHAIN \ --from=$NOLUS_WALLET \ --commission-rate="0.05" \ --commission-max-rate="0.20" \ --commission-max-change-rate="0.01" \ --min-self-delegation="1"
Задаем переменную с адресом валидатора
NOLUS_VALOPER=$(nolusd keys show $NOLUS_WALLET --bech val -a)
echo 'export NOLUS_VALOPER='${NOLUS_VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile
Делегация средств с кошелька на валидатора (сумму вводите свою)
nolusd tx staking delegate $NOLUS_VALOPER 1000000unls --from $NOLUS_WALLET
Ну и если вдруг ваша нода попала в тюрьму, то выход
Большое спасибо, за внимание и уделенное время
Наш телеграмм канал по нодам — https://t.me/mmsnodes
Наш телеграмм чат по нодам - https://t.me/mmsnodeschat
Наш телеграмм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms