September 14, 2022

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

Здравствуйте сегодня мы расскажем об установке ноды DWS

Оригинальная инструкция находится тут.

DWS предлагает полный набор служб инфраструктуры и приложений, которые позволяют запускать практически все в децентрализованном облаке: от корпоративных приложений и проектов больших данных до социальных игр и мобильных приложений, более подробно можно прочитать на официальном сайте.

Рекомендуемые требования для сервера

8GB RAM 60GB+ of disk space 4 Cores (modern CPU's)

Краткую инструкцию по аренде сервера можно посмотреть тут

16.09.2022 запущен новый тестнет, нода ставится с нуля.

Как всегда обновляем наш сервер

sudo apt update && sudo apt upgrade -y

Устанавливаем доп. пакеты

sudo apt install make clang pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y

Устанавливаем go и проверяем версию

ver="1.18.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/deweb-services/deweb.git cd deweb git checkout v0.3.1 make build

Перемещаем бинарник в рабочий каталог

sudo mv build/dewebd /usr/local/bin/ cd $HOME

Проверяем версию (должна быть 0.3.1)

dewebd version

Задаем переменные (CHAIN оставляем без изменений, в остальные вписываем свои данные)

MONIKER="your_name" CHAIN="deweb-testnet-sirius" WALLET_NAME="your_name"

Добавляем все в баш профиль

echo 'export MONIKER='${MONIKER} >> $HOME/.bash_profile echo 'export CHAIN='${CHAIN} >> $HOME/.bash_profile echo 'export WALLET_NAME='${WALLET_NAME} >> $HOME/.bash_profile source $HOME/.bash_profile

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

dewebd init $MONIKER --chain-id $CHAIN

Прописываем в конфиг имя сети

dewebd config chain-id $CHAIN

Скачиваем файл генезис

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

Настраиваем прунинг

pruning="custom" && \ pruning_keep_recent="1000" && \ pruning_keep_every="0" && \ pruning_interval="50" && \ sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.deweb/config/app.toml && \ sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.deweb/config/app.toml && \ sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.deweb/config/app.toml && \ sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.deweb/config/app.toml

Выключаем индексер (по желанию)

indexer="null" && \ sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.deweb/config/config.toml

Добавляем сиды и пиры

sed -E -i 's/seeds = \".*\"/seeds = \"2b1aebd0029570c20932bf7a17b3d7e67cbacc52@31.44.6.134:26656\"/' $HOME/.deweb/config/config.toml peers="6429c95d1b865a6e61ca65c2352c0b03766fec3a@181.41.142.78:11123,429231d7fbc695fe0c1e8de451164fc8194c105c@65.21.132.226:36657,be3bcc46154e577acea31a219965c0a515f045c8@65.108.235.107:14656,2c50234b5a740899c18b6d1c3f0be83d2c30a8c0@38.242.216.50:26656,ae72548f31f409a92fc00e5b62b513f8261ea7ec@144.91.118.61:26656,b0ad09ee5a5f6a54c98e0bcdc717a9813113a888@147.135.162.128:26656" sed -i "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/;" $HOME/.deweb/config/config.toml

Задаем минимальную цену за gas

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

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

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

И запускаем сервис

sudo systemctl daemon-reload sudo systemctl enable dewebd sudo systemctl restart dewebd

Смотрим логи и ждем когда нода начнет синхронизироваться

sudo journalctl -u dewebd -f -o cat

Или смотрим статус синхронизации (когда "catching_up": false то нода синхронизирована)

curl localhost:26657/status

После синхронизации создаем кошелек (не забываем сохранить мнемоник)

dewebd keys add $WALLET_NAME

Если кошелек уже есть то восстанавливаем с помощью мнемоника

dewebd keys add $WALLET_NAME --recover

Добавляем переменную с адресом кошелька

WALLET_ADDRESS=$(dewebd keys show $WALLET_NAME -a)

Добавляем переменную в баш профиль

echo 'export WALLET_ADDRESS='${WALLET_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile

Теперь нам необходимо получить средства на кошелек. Для этого переходим в дискорд и запрашиваем токены на баланс кошелька

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

dewebd query bank balances $WALLET_ADDRESS

Если средства успешно поступили, то создаем валидатора (сумму указывайте свою, сколько хотите делегировать с кошелька, указывайте чуть меньше что бы хватило на комиссию)

dewebd tx staking create-validator \ --amount=1000000udws \ --pubkey=$(dewebd tendermint show-validator) \ --moniker=$MONIKER \ --chain-id=$CHAIN \ --commission-rate="0.10" \ --commission-max-rate="0.20" \ --commission-max-change-rate="0.01" \ --min-self-delegation="1" \ --from=$WALLET_NAME \ --fees=200udws

Задаем переменную с адресом валидатора

VALOPER=$(dewebd keys show $WALLET_ADDRESS --bech val -a)

И добавляем ее в баш профиль

echo 'export VALOPER='${VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile

Проверка статуса валидатора

dewebd query staking validator $VALOPER

Делегация средств с кошелька на валидатора (сумму вводите свою)

dewebd tx staking delegate $VALOPER 1000000udws --from $WALLET_NAME --chain-id $CHAIN --fees=200udws

Ну и если вдруг ваша нода попала в тюрьму, то выход

dewebd tx slashing unjail --from $WALLET_NAME --chain-id $CHAIN

Ну а если вы решили удалить ноду то введите следующие команды

sudo systemctl stop dewebd sudo systemctl disable dewebd cd $HOME rm /etc/systemd/system/dewebd rm /usr/local/bin/dewebd rm -r deweb/ rm -r .deweb/

Большое спасибо, за внимание и уделенное время

Наш телеграмм канал по нодам — https://t.me/mmsnodes
Наш телеграмм чат по нодам - https://t.me/mmsnodeschat
Наш телеграмм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms

С уважением, MMS_Team