DWS нода
Мой канал Crypto time
DWS предлагает полный набор служб инфраструктуры и приложений, которые позволяют запускать практически все в децентрализованном облаке: от корпоративных приложений и проектов больших данных до социальных игр и мобильных приложений, более подробно можно прочитать на официальном сайте
Официальная документация
Требования к серверу
Нам потребуется сервер с следующими характеристиками:
Арендовать сервер можно на сайтах:
Подробная статья описана в статье Бесплатный сервер для ноды
Запуск
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 make build
Перемещаем бинарник в рабочий каталог
Проверяем версию (должна быть 0.3)
Задаем переменные (CHAIN оставляем без изменений, в остальные вписываем свои данные)
MONIKER="your_name" CHAIN="deweb-testnet-3" 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
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 = \"[email protected]:26656\"/' $HOME/.deweb/config/config.toml peers="[email protected]: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
Смотрим логи и ждем когда нода начнет синхронизироваться
Или смотрим статус синхронизации (когда "catching_up": false то нода синхронизирована)
После синхронизации создаем кошелек (не забываем сохранить мнемоник)
Если кошелек уже есть то восстанавливаем с помощью мнемоника
Добавляем переменную с адресом кошелька
Добавляем переменную в баш профиль
echo 'export WALLET_ADDRESS='${WALLET_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile
Теперь нам необходимо получить средства на кошелек. Для этого переходим в дискорд и запрашиваем токены на баланс кошелька
После запроса проверяем баланс
Если средства успешно поступили, то создаем валидатора (сумму указывайте свою, сколько хотите делегировать с кошелька, указывайте чуть меньше что бы хватило на комиссию)
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
Задаем переменную с адресом валидатора
echo 'export VALOPER='${VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile
Делегация средств с кошелька на валидатора (сумму вводите свою)
dewebd tx staking delegate $VALOPER 1000000udws --from $WALLET_NAME --chain-id $CHAIN
Ну и если вдруг ваша нода попала в тюрьму, то выход
dewebd tx slashing unjail --from $WALLET_NAME --chain-id $CHAIN.