Гайд по установке ноды DWS (Decentralized Web Services)
DWS (Decentralized Web Services - Децентрализованные веб-сервисы) - это платформа управления децентрализованной облачной инфраструктурой. DWS будет заботиться о здоровье всех децентрализованных сервисов и плавно восстановит любой сервис, который выйдет из строя. DWS будет контролировать расходование средств и уведомлять вас в Slack/Telegram/Jami о любых необходимых платежах. Также DWS будет иметь красивую приборную панель, показывающую все балансы, расходы и инциденты, происходящие с используемой вами облачной инфраструктурой.
DWS предлагает полный набор инфраструктурных и прикладных услуг, которые позволяют запускать в децентрализованном облаке практически все: от корпоративных приложений и проектов big data до социальных игр и мобильных приложений.
Сейчас есть возможность стать валидатором тестовой сети, а в октябре - ноябре админы начнут выбирать валидаторов для маиннета и предлагать пройти KYC.
Подготовка
Рекомендуемые требования:
Арендовать сервер можно на Hetzner.
Благодарим канал https://t.me/mmsnodes и сайт https://nodejumper.io/ за их инструкции, мы их отредактировали и написали для вас обновлённый гайд.
sudo apt update sudo apt upgrade
∎ Скачиваем дополнительные пакеты:
apt install curl build-essential git wget jq make gcc tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y
∎ Устанавливаем GO (лучше вставлять команды по одной строчке):
ver="1.19.1" 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
dewebd version
0.3.1
∎ Создаём переменные (вместо ВАШЕ_ИМЯ вписываем свои значения в кавычках, в переменной CHAIN ничего не меняем):
MONIKER="ВАШЕ_ИМЯ"
WALLET_NAME="ВАШЕ_ИМЯ"
CHAIN="deweb-testnet-sirius"
echo 'export MONIKER='${MONIKER} >> $HOME/.bash_profile
echo 'export WALLET_NAME='${WALLET_NAME} >> $HOME/.bash_profile
echo 'export CHAIN='${CHAIN} >> $HOME/.bash_profile
source $HOME/.bash_profiledewebd 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
∎ Настраиваем прунинг (custom/100/0/10):
sed -i 's|pruning = "default"|pruning = "custom"|g' $HOME/.deweb/config/app.toml sed -i 's|pruning-keep-recent = "0"|pruning-keep-recent = "100"|g' $HOME/.deweb/config/app.toml sed -i 's|pruning-interval = "0"|pruning-interval = "10"|g' $HOME/.deweb/config/app.toml
∎ Устанавливаем минимальную цену за газ:
sed -E -i 's/minimum-gas-prices = \".*\"/minimum-gas-prices = \"0.001udws\"/' $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="c5b45045b0555c439d94f4d81a5ec4d1a578f98c@dws-testnet.nodejumper.io:27656,a8bc5ae440dd0ee13f091cd1b17d104c1a7b498c@95.217.225.214:29656,9440fa39f85bea005514f0191d4550a1c9d310bb@135.181.133.37:27656,a8793bb26c86089febec165300be03f0a8627dc8@77.37.176.99:46656,cfc175e44cf206d8175c91bdbef434c5b59f2461@94.130.50.61:28656,b591740ab4bf9a98cdff3073465786981142a997@185.144.99.226:26656,6e774a859b13269619b4258b02d5f0ed8e384685@185.144.99.225:26656,82d3ac486e35b87cd7c4bfbf5f8d39c2f20e4d06@194.233.174.189:26656,055cf1973026f65a2cee4c266a2dd2fa31f4fd4f@65.108.209.4:26656,ce1f8a507d88f60594186a8d2ce8e47e9919c95f@65.21.104.130:34656" sed -i 's|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.deweb/config/config.toml
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 daemon-reload sudo systemctl enable dewebd sudo systemctl restart dewebd
∎ Смотрим логи и ждём, когда нода синхронизируется:
sudo journalctl -u dewebd -f -o cat
∎ Проверить статус синхронизации можно командой
curl localhost:26657/status
Если в поле catching_up значение "false", то нода синхронизирована, можно переходить к следующему пункту.
Если нода долго не синхронизируется, то можно добавить Address Book:
curl -s https://snapshots1-testnet.nodejumper.io/dws-testnet/addrbook.json > $HOME/.deweb/config/addrbook.json
Посмотреть текущий блок можно ТУТ
Создание валидатора
∎ Создаём кошелёк (или восстанавливаем) после того, как нода синхронизировалась:
dewebd keys add $WALLET_NAME
восстановить кошелёк (после ввода команды вставьте сид-фразу)
dewebd keys add $WALLET_NAME --recover
Обязательно сохраняем мнемонику в надёжном месте и никому её не показываем.
Также в выводе будет адрес вашего кошелька (deweb1...). Сохраните его, он нам скоро пригодится.
∎ Создаём переменную с адресом кошелька:
WALLET_ADDRESS=$(dewebd keys show $WALLET_NAME -a)
echo 'export WALLET_ADDRESS='${WALLET_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile∎ Теперь надо запросить тестовые монеты на кошелёк. Переходим в Discord в ветку #faucet и вставляем команду (вместо АДРЕС_КОШЕЛЬКА вставляем свой адрес deweb1...):
$request АДРЕС_КОШЕЛЬКА sirius
∎ Проверяем баланс кошелька в командной строке:
dewebd query bank balances $WALLET_ADDRESS
∎ Создаём валидатора, когда баланс пополнился (amount можете вписать свою в зависимости от суммы на балансе):
dewebd tx staking create-validator \ --amount=900000udws \ --pubkey=$(dewebd tendermint show-validator) \ --moniker=$MONIKER \ --chain-id=$CHAIN \ --commission-rate=0.1 \ --commission-max-rate=0.2 \ --commission-max-change-rate=0.05 \ --min-self-delegation=1 \ --fees=200udws \ --from=$WALLET_NAME \ -y
∎ Создаём переменную с адресом валидатора:
VALOPER=$(dewebd keys show $WALLET_ADDRESS --bech val -a)
echo 'export VALOPER='${VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile∎ Проверить статус валидатора можно командой:
Поздравляю, вы установили ноду!
Найти себя в списке валидаторов можно в эксплорере 1 или эксплорере 2.
Полезные команды:
sudo journalctl -u dewebd -f -o cat
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/
Спасибо за внимание!
Ссылка на TG канал: https://t.me/cryptonik_space