Гайд по установке ноды 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_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
∎ Настраиваем прунинг (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 = \"[email protected]:26656\"/' $HOME/.deweb/config/config.toml
∎ Добавляем пиры для более быстрой синхронизации:
peers="c5b45045b0555c439d94f4d81a5ec4d1a578f98c@dws-testnet.nodejumper.io:27656,[email protected]:29656,[email protected]:27656,[email protected]:46656,[email protected]:28656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]: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