Актуально
October 9, 2022
Empower
Обновление и установка зависимостей
sudo apt update && sudo apt upgrade -y && \ sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y
Установка GO
ver="1.19" && \ 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
Добавление переменных
echo "export <NODENAME>=$NODENAME" » $HOME/.bash_profile echo "export <WALLET>=$WALLET" » $HOME/.bash_profile source $HOME/.bash_profile
Копирование репозитория
cd $HOME && git clone https://github.com/empowerchain/empowerchain && \ cd empowerchain/chain && \ make install && \ empowerd version --long | head
Инициализация
empowerd init $NODENAME --chain-id altruistic-1 && \ empowerd config chain-id altruistic-1
Скачиваем genesis
rm -rf $HOME/.empowerchain/config/genesis.json && cd $HOME/.empowerchain/config && wget $HOME/.empowerchain/config/genesis.json "https://raw.githubusercontent.com/empowerchain/empowerchain/main/testnets/altruistic-1/genesis.json"
Правим конфиг
external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:26656\"/" $HOME/.empowerchain/config/config.toml
sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.025umpwr\"/;" ~/.empowerchain/config/app.toml
seeds=""
peers="9de92b545638f6baaa7d6d5109a1f7148f093db3@65.108.77.106:26656,4fd5e497563b2e09cfe6f857fb35bdae76c12582@65.108.206.56:26656,fe32c17373fbaa36d9fd86bc1146bfa125bb4f58@5.9.147.185:26656,220fb60b083bc4d443ce2a7a5363f4813dd4aef4@116.202.236.115:26656,225ad85c594d03942a026b90f4dab43f90230ea0@88.99.3.158:26656,2a2932e780a681ddf980594f7eacf5a33081edaf@192.168.147.43:26656,333de3fc2eba7eead24e0c5f53d665662b2ba001@10.132.0.11:26656,4a38efbae54fd1357329bd583186a68ccd6d85f9@94.130.212.252:26656,52450b21f346a4cf76334374c9d8012b2867b842@167.172.246.201:26656,56d05d4ae0e1440ad7c68e52cc841c424d59badd@192.168.1.46:26656,6a675d4f66bfe049321c3861bcfd19bd09fefbde@195.3.223.204:26656,1069820cdd9f5332503166b60dc686703b2dccc5@138.201.141.76:26656,277ff448eec6ec7fa665f68bdb1c9cb1a52ff597@159.69.110.238:26656,3335c9458105cf65546db0fb51b66f751eeb4906@5.189.129.30:26656,bfb56f4cb8361c49a2ac107251f92c0ea5a1c251@192.168.1.177:26656,edc9aa0bbf1fcd7433fcc3650e3f50ab0becc0b5@65.21.170.3:26656,d582bcd8a8f0a20c551098571727726bc75bae74@213.239.217.52:26656,eb182533a12d75fbae1ec32ef1f8fc6b6dd06601@65.109.28.219:26656,b22f0708c6f393bf79acc0a6ca23643fe7d58391@65.21.91.50:26656,e8f6d75ab37bf4f08c018f306416df1e138fd21c@95.217.135.41:26656,ed83872f2781b2bdb282fc2fd790527bcb6ffe9f@192.168.3.17:26656"
sed -i -e 's|^seeds *=.*|seeds = "'$seeds'"|; s|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.empowerchain/config/config.toml
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${NOIS_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${NOIS_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${NOIS_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${NOIS_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${NOIS_PORT}660\"%" $HOME/.noisd/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${NOIS_PORT}317\"%; s%^address = \":8080\"%address = \":${NOIS_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${NOIS_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${NOIS_PORT}091\"%" $HOME/.noisd/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.noisd/config/config.toml
Prunning `app.toml'
pruning="custom" && \ pruning_keep_recent="100" && \ pruning_keep_every="0" && \ pruning_interval="50" && \ 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-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.empowerchain/config/app.toml && \ sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.empowerchain/config/app.toml
Сервисный файл
sudo tee /etc/systemd/system/empowerd.service > /dev/null <<EOF [Unit] Description=EmpowerChain Node After=network.target [Service] User=$USER Type=simple ExecStart=$(which empowerd) start Restart=on-failure LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
Запуск
systemctl daemon-reload && \ systemctl enable empowerd && \ systemctl restart empowerd && journalctl -u empowerd -f -o cat
Создаем кошелек пока идет синхронизация
# создать кошелек empowerd keys add $WALLET --keyring-backend os # восстановить кошелек (после команды вставить seed) empowerd keys add $WALLET --recover --keyring-backend os
Идем в дискорд и пользуемся краном
Валидатор
empowerd tx staking create-validator \ --chain-id altruistic-1 \ --commission-rate 0.05 \ --commission-max-rate 0.2 \ --commission-max-change-rate 0.1 \ --min-self-delegation "1000000" \ --amount 1000000umpwr \ --pubkey $(empowerd tendermint show-validator) \ --moniker "<name_moniker>" \ --from $WALLET \ --fees 5000umpwr
Полезные команды
# проверить блоки empowerd status 2>&1 | jq ."SyncInfo"."latest_block_height" # проверить логи journalctl -u empowerd -f -o cat # проверить статус curl localhost:26657/status # проверить баланс empowerd q bank balances <address> # проверить pubkey валидатора empowerd tendermint show-validator
Для validator
# собрать реварды со всех валидаторов, которым делегировали (без комиссии) empowerd tx distribution withdraw-all-rewards --from $WALLET --fees 5000umpwr -y # собрать реварды c отдельного валидатора или реварды + комиссию со своего валидатора empowerd tx distribution withdraw-rewards <valoper_address> --from $WALLET --fees 5000umpwr --commission -y # заделегировать себе в стейк еще (так отправляется 1 монетa) empowerd tx staking delegate <valoper_address> 1000000umpwr --from $WALLET --fees 5000umpwr -y # ределегирование на другого валидатора empowerd tx staking redelegate <src-validator-addr> <dst-validator-addr> 1000000umpwr --from $WALLET --fees 5000umpwr -y # unbond empowerd tx staking unbond <addr_valoper> 1000000umpwr --from $WALLET --fees 5000umpwr -y # отправить монеты на другой адрес empowerd tx bank send $WALLET <address> 1000000umpwr --fees 5000umpwr -y
Discord: https://discord.gg/jGESqNjE
Twitter: https://twitter.com/Empowerplastic