September 15, 2022

DWS Node Guide

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

Минимальные/Рекомендуемые

2/4 CPU

4/8 RAM

20/>300 GB storage

Лично я поставила на CPX31 Hetzner

Установка ноды:

Обновляем пакеты:

sudo apt update

sudo apt upgrade

Устанавливаем необходимые тулзы:

sudo apt install git build-essential ufw curl jq snapd --yes

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

sudo snap install go --classic

echo 'export GOPATH="$HOME/go"' >> ~/.profile

echo 'export GOBIN="$GOPATH/bin"' >> ~/.profile

echo 'export PATH="$GOBIN:$PATH"' >> ~/.profile

source ~/.profile

Копируем репозиторий проекта и запускаем билд:

git clone https://github.com/deweb-services/deweb.git

cd deweb

git checkout v0.3.1

make build

Проверяем версию:

build/dewebd version
#корректный вывод 0.3.1

Компилируем:

sudo mv build/dewebd /usr/local/bin/

make install

Устанавливаем параметр сети:

dewebd config chain-id deweb-testnet-sirius

Создаем кошелек:

dewebd keys add <NAME>
#заменить <NAME> на имя своего кошелька
#придумываем пароль
#сохраняем адрес и мнемонику от кошелька

Инициализируем папки:

dewebd init "<Moniker>" --chain-id deweb-testnet-sirius
#заменить <Moniker> на имя своего будущего валидатора(изпользовать от 2, разделенных пробелом)
#получите страшный вывод - это нормально)

Скачиваем генезис:

cd $HOME

curl -s https://raw.githubusercontent.com/deweb-services/deweb/main/genesis.json > ~/.deweb/config/genesis.json

Добавляем сиды в файл config.toml:

sed -E -i 's/seeds = \".*\"/seeds = \"2b1aebd0029570c20932bf7a17b3d7e67cbacc52@31.44.6.134:26656\"/' $HOME/.deweb/config/config.toml

Устанавливаем минимальную цену на газ:

sed -E -i 's/minimum-gas-prices = \".*\"/minimum-gas-prices = \"0.001udws\"/' $HOME/.deweb/config/app.toml

Проверьте открыт ли у вас порт 26656

Проверяем логи ноды:

dewebd start --log_level info

Если все ок, пошли логи, то нажимаем Cntr+C

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

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

Запускаем сервис:

sudo systemctl enable dewebd.service && sudo systemctl start dewebd.service

Проверка логов:

sudo journalctl -u dewebd -f

После полной сихронизации ноды(правильный ответ false):

dewebd status 2>&1 | jq .SyncInfo.catching_up

Если так, можем идти дальше:

Идем в дискорд, запрашиваем токены

В ветке faucet вписываем:
$request <YOUR_WALLET_ADDRESS> sirius
заменив <YOUR_WALLET_ADDRESS> на адрес своего кошелька

Проверка баланса:

dewebd q bank balances <YOUR_WALLET_ADDRESS>
#заменяем <YOUR_WALLET_ADDRESS> на адрес своего кошелька

Cоздаем валидатора:

dewebd tx staking create-validator \
 --amount 4500000udws \
 --commission-max-change-rate 0.10 \
 --commission-max-rate 0.2 \
 --commission-rate 0.1 \
 --from <WALLET_NAME> \
 --min-self-delegation 1 \
 --moniker <MONIKER> \
 --pubkey $(dewebd tendermint show-validator) \
 --chain-id deweb-testnet-sirius \
 --gas auto \
 --gas-adjustment 1.5 \
 --gas-prices 0.001udws
#заменить <WALLET_NAME> на имя своего кошелька
#заменить <MONIKER> на свой моникер

Найти своего валидатора можно в эксплорере

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

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