Установка ноды Empowerchain
Empowerchain - это некое блокчейн ответвление от основной компании Empower, которое призвано решить проблему пластиковых отходов, придав им взаимозаменяемую ценность.
Сайт проекта | Документация проекта | Discord | GitHub | Explorer
Telegram канал сообщества Starnodes
Фазы
Тестовая сеть разделена на три этапа:
- 31 мая — 6 июня: Фаза начальной загрузки сети: актуальна только для валидаторов (конечно, билдеры могут начать сборку)
- 7 июня - 20 июня: Основная фаза: для всех (тестировщиков, билдеров, валидаторов)
- 21 июня - 25 июня: фаза стресс-теста: это также для всех, но будет сосредоточена на рассылке спама в сети.
28 июня — целевая дата запуска основной сети.
Награды
Награды будут начисляться за выполнение заданий, которые можно посмотреть тут:
https://docs.empowerchain.io/testnet/tasks-and-rewards
Не забывайте заполнить эти 2 формы:
https://docs.google.com/forms/d/e/1FAIpQLSe1kuSWQq_zaxeR9Fn2lx2VsF073pY2jgGNJHz4obPCF7yYGg/viewform
https://docs.google.com/forms/d/e/1FAIpQLSdHAAZ4DB-Yq9LwiPXNGplKk8zvWm9FeId5X99m0dIeaAlXog/viewform
Системные требования
Используемые порты: 26656,26657,6060,9090,9091 tcp
26656 - P2P порт должен быть открыт для всех.
26657 - RPC порт открывается опционально.
Аренда сервера:
1) Хостинг Hetzner - неплохой хостинг для аренды VPS по соотношению цена-качество, подойдет для большинства нод.
2) Хостинг Starnodes - VPS сервера с большой ёмкостью NVME накопителя. Все сервера расположены в датацентре и работают 24/7.
Подготовка сервера
Создание пользователя (по желанию):
adduser $NEWUSER
usermod -aG sudo $NEWUSER
Установим необходимое программное обеспечение:
sudo apt install -y curl git build-essential jq lz4 unzip tar mc htop ncdu screen
Опционально установите fail2ban:
sudo apt install fail2ban -y
cd $HOME && \ ver="1.20.2" && \ 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
Начало установки ноды:
MONIKER="your_moniker" WALLET="wallet" CHAIN="circulus-1"
echo "export MONIKER=$MONIKER" >> $HOME/.bash_profile && \ echo "export WALLET=$WALLET" >> $HOME/.bash_profile && \ echo "export CHAIN=$CHAIN" >> $HOME/.bash_profile && \ source $HOME/.bash_profile
cd ~ rm -rf empowerchain git clone https://github.com/EmpowerPlastic/empowerchain cd empowerchain git checkout v1.0.0-rc3 cd chain make install empowerd version
empowerd config chain-id $CHAIN empowerd config keyring-backend test empowerd init $MONIKER --chain-id $CHAIN
curl -s https://raw.githubusercontent.com/EmpowerPlastic/empowerchain/main/testnets/circulus-1/genesis.json > ~/.empowerchain/config/genesis.json curl -s https://snapshots2-testnet.nodejumper.io/empower-testnet/addrbook.json > ~/.empowerchain/config/addrbook.json
Проверьте, что генезис корректный:
#вывод должен быть таким:
f01a9b70ac51d919091ad48465100d1f770c1c3788a322e4fa49549d5c3041de
sha256sum ~/.empowerchain/config/genesis.json
SEEDS="[email protected]:26656" PEERS="[email protected]:26656,[email protected]:26656,[email protected]:27656,[email protected]:26656,[email protected]:26656" sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.empowerchain/config/config.toml
pruning="custom" pruning_keep_recent="100" pruning_interval="10" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.empowerchain/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.empowerchain/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.empowerchain/config/app.toml
indexer="null" sed -i.bak -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.empowerchain/config/config.toml
Настраиваем минимальную цену за газ в app.toml
sed -i 's/minimum-gas-prices =.*/minimum-gas-prices = "0.025umpwr"/g' $HOME/.empowerchain/config/app.toml
При необходимости увеличиваем количество входящих и исходящих пиров для подключения. Это может помочь при падении ноды, но увеличит нагрузку.
sed -i.bak 's/max_num_inbound_peers =.*/max_num_inbound_peers = 50/g' $HOME/.empowerchain/config/config.toml sed -i.bak 's/max_num_outbound_peers =.*/max_num_outbound_peers = 50/g' $HOME/.empowerchain/config/config.toml
empowerd tendermint unsafe-reset-all --home $HOME/.empowerchain --keep-addr-book
Опционально можно стартовать со снапшота и загрузить базу данных (спасибо nodejumper.io):
SNAP_NAME=$(curl -s https://snapshots2-testnet.nodejumper.io/empower-testnet/info.json | jq -r .fileName) curl "https://snapshots2-testnet.nodejumper.io/empower-testnet/${SNAP_NAME}" | lz4 -dc - | tar -xf - -C "$HOME/.empowerchain"
sudo tee /etc/systemd/system/empowerd.service > /dev/null <<EOF [Unit] Description=empowerd Node After=network.target [Service] User=$USER Type=simple ExecStart=$(which empowerd) start Restart=on-failure LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
Запускаем службу и добавляем в автозапуск:
sudo systemctl daemon-reload sudo systemctl enable empowerd sudo systemctl restart empowerd && sudo journalctl -u empowerd -f --no-hostname -o cat
Проверить статус синхронизации:
empowerd status 2>&1 | jq .SyncInfo
empowerd keys add $WALLET
empowerd keys add $WALLET --recover
https://discord.com/channels/948213834164883488/1026598604523180043
Добавим адрес валидатора и кошелька в переменные для удобства:
VALOPER=$(empowerd keys show $WALLET --bech val -a) && \ ADDRESS=$(empowerd keys show $WALLET --address) && \ echo "export VALOPER=$VALOPER" >> $HOME/.bash_profile && \ echo "export ADDRESS=$ADDRESS" >> $HOME/.bash_profile && \ source $HOME/.bash_profile
empowerd query bank balances $ADDRESS
empowerd tx staking create-validator \ --amount=1009000umpwr \ --pubkey=$(empowerd tendermint show-validator) \ --moniker=$MONIKER \ --chain-id=$CHAIN \ --commission-rate="0.10" \ --commission-max-rate="0.20" \ --commission-max-change-rate="0.05" \ --min-self-delegation=1000000 \ --fees=5000umpwr \ --from=$WALLET \ -y
Создаем каталог для бэкапа и копируем приватный ключ:
mkdir -p ~/backup/empower cp ~/.empowerchain/config/priv_validator_key.json ~/backup/empower/
Далее загрузите файл на свой ПК из папки $HOME/backup/empower
Удалить ноду:
sudo systemctl stop empowerd sudo systemctl disable empowerd sudo rm -rf /etc/systemd/system/empowerd* sudo systemctl daemon-reload sudo rm $(which empowerd) sudo rm -rf $HOME/.empowerchain sudo rm -fr $HOME/empowerchain
Полезные команды:
# Логи службы ноды journalctl -u empowerd -f -o cat # Управление службами systemctl status empowerd systemctl stop empowerd systemctl start empowerd systemctl restart empowerd # Проверить статус ноды empowerd status 2>&1 | jq
# Посмотреть адрес кошелька echo $ADDRESS # Проверить баланс кошелька empowerd q bank balances $ADDRESS # Отправка токенов 1 token = 1000000 (Cosmos) empowerd tx bank send $WALLET <ADDRESS_TO> <TOKENS_COUNT>umpwr --fees 5000umpwr # Удалить кошелек empowerd keys delete $WALLET
! Если транзакции не отправляются с ошибкой account sequence mismatch, expected 18, got 17: incorrect account sequence, то добавьте в команду ключ -s 18 (номер замените на тот, который ждет sequence)
# Проголосовать empowerd tx gov vote 1 yes --from $WALLET --fees 5000umpwr -y # Посмотреть пропосалы, где вы проголосовали empowerd q gov proposals --voter $ADDRESS
# Получить адрес валидатора (valoper) echo $VALOPER # Изменить данные валидатора empowerd tx staking edit-validator --website="<YOUR_WEBSITE>" --details="<YOUR_DESCRIPTION>" --moniker="<YOUR_NEW_MONIKER>" --from=$WALLET --fees 5000umpwr # Выйти из тютьмы empowerd tx slashing unjail --from $WALLET --fees 5000umpwr # Делегировать токены вашему валидатору empowerd tx staking delegate $VALOPER <TOKENS_COUNT>umpwr --from $WALLET --fees 5000umpwr -y # Сбросить валидатора, удалить базу и addrbook.json empowerd tendermint unsafe-reset-all --home $HOME/.empowerchaind
@starnodesxyz - наш канал в Telegram с новостями и гайдами по тестнетам.
@starnodes_chat - канал, куда можно обратиться за помощью.