Testnet

Empower

Installation Guide
Tendermint CLI
Public Endpoint
State Sync
Custom Explorer
Installation Guide
Installation Guide
Tendermint CLI
Public Endpoint
State Sync
Custom Explorer

How To Install Full Node Empower Network Testnet

Setting up vars

Your Nodename (validator) that will shows in explorer

NODENAME=<Your_Nodename_Moniker>

Save variables to system

echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
if [ ! $WALLET ]; then
    echo "export WALLET=wallet" >> $HOME/.bash_profile
fi
echo "export EMPOWER_CHAIN_ID=circulus-1" >> $HOME/.bash_profile
source $HOME/.bash_profile

Update packages

sudo apt update && sudo apt upgrade -y

Install dependencies

sudo apt install curl build-essential git wget jq make gcc tmux net-tools ccze -y

Install go

if ! [ -x "$(command -v go)" ]; then
  ver="1.20.3"
  cd $HOME
  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" >> ~/.bash_profile
  source ~/.bash_profile
fi

Download and build binaries

cd $HOME
git clone https://github.com/EmpowerPlastic/empowerchain
cd empowerchain
git checkout circulus-1
cd chain
make install

Config app

empowerd config chain-id $EMPOWER_CHAIN_ID

Init app

empowerd init $NODENAME --chain-id $EMPOWER_CHAIN_ID

Download configuration

cd $HOME
wget -O genesis.json https://snapshots.polkachu.com/testnet-genesis/empower/genesis.json --inet4-only
mv genesis.json ~/.empowerchain/config

Set seeds and peers

seeds="d6a7cd9fa2bafc0087cb606de1d6d71216695c25@51.159.161.174:26656"
peers="e8b3fa38a15c426e046dd42a41b8df65047e03d5@95.217.144.107:26656,89ea54a37cd5a641e44e0cee8426b8cc2c8e5dfb@51.159.141.221:26656,0747860035271d8f088106814a4d0781eb7b2bc7@142.132.203.60:27656,3c758d8e37748dc692621a0d59b454bacb69b501@65.108.224.156:26656,41b97fced48681273001692d3601cd4024ceba59@5.9.147.185:26656"
sed -i -e 's|^seeds *=.*|seeds = "'$seeds'"|; s|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.empowerchain/config/config.toml

Disable indexing

indexer="null"
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.empowerchain/config/config.toml

Config pruning

pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
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-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

Set minimum gas price

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.025umpwr\"/" $HOME/.empowerchain/config/app.toml

Create service

sudo tee /etc/systemd/system/empowerd.service > /dev/null <<EOF
[Unit]
Description=Empower Chain
After=network-online.target

[Service]
User=$USER
ExecStart=$(which empowerd) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Register and start service

sudo systemctl daemon-reload
sudo systemctl enable empowerd
sudo systemctl restart empowerd && sudo journalctl -u empowerd -f -o cat

Guidence for create validator

Create wallet

To create new wallet you can use command below. Don’t forget to save the mnemonic

empowerd keys add $WALLET

To recover your wallet using seed phrase

empowerd keys add $WALLET --recover

Show your wallet list

empowerd keys list

Save wallet info

Add wallet and validator address into variables

EMPOWER_WALLET_ADDRESS=$(empowerd keys show $WALLET -a)
EMPOWER_VALOPER_ADDRESS=$(empowerd keys show $WALLET --bech val -a)
echo 'export EMPOWER_WALLET_ADDRESS='${EMPOWER_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export EMPOWER_VALOPER_ADDRESS='${EMPOWER_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile

Fund your wallet

In order to create validator first you need to fund your wallet with discord faucet.

Go to Discord https://discord.gg/SsQUCBgdqj
Go and claim #tester-role
request balances on #faucet

Create validator

check your wallet balance:

empowerd query bank balances $EMPOWER_WALLET_ADDRESS

To create your validator run command below

empowerd tx staking create-validator \
  --amount 1000000umpwr \
  --from $WALLET \
  --commission-max-change-rate "0.01" \
  --commission-max-rate "0.2" \
  --commission-rate "0.07" \
  --min-self-delegation "1" \
  --pubkey  $(empowerd tendermint show-validator) \
  --moniker $NODENAME \
  --chain-id $EMPOWER_CHAIN_ID

Check your validator key

[[ $(empowerd q staking validator $EMPOWER_VALOPER_ADDRESS -oj | jq -r .consensus_pubkey.key) = $(empowerd status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"

Get list of validators

empowerd q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl

Usefull commands

Service management

Check logs

journalctl -fu empowerd -o cat

Start service

sudo systemctl start empowerd

Stop service

sudo systemctl stop empowerd

Restart service

sudo systemctl restart empowerd

Node info

Synchronization info

empowerd status 2>&1 | jq .SyncInfo

Validator info

empowerd status 2>&1 | jq .ValidatorInfo

Node info

empowerd status 2>&1 | jq .NodeInfo

Show node id

empowerd tendermint show-node-id

Wallet operations

List of wallets

empowerd keys list

Recover wallet

empowerd keys add $WALLET --recover

Delete wallet

empowerd keys delete $WALLET

Get wallet balance

empowerd query bank balances $EMPOWER_WALLET_ADDRESS

Transfer funds

empowerd tx bank send $EMPOWER_WALLET_ADDRESS <TO_EMPOWER_WALLET_ADDRESS> 1000000umpwr

Voting

empowerd tx gov vote 1 yes --from $WALLET --chain-id=$EMPOWER_CHAIN_ID

Staking, Delegation and Rewards

Delegate stake

empowerd tx staking delegate $EMPOWER_VALOPER_ADDRESS 1000000umpwr --from=$WALLET --chain-id=$EMPOWER_CHAIN_ID --gas=auto

Redelegate stake from validator to another validator

empowerd tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 1000000umpwr --from=$WALLET --chain-id=$EMPOWER_CHAIN_ID --gas=auto

Withdraw all rewards

empowerd tx distribution withdraw-all-rewards --from=$WALLET --chain-id=$EMPOWER_CHAIN_ID --gas=auto

Withdraw rewards with commision

empowerd tx distribution withdraw-rewards $EMPOWER_VALOPER_ADDRESS --from=$WALLET --commission --chain-id=$EMPOWER_CHAIN_ID

Validator management

Edit validator

empowerd tx staking edit-validator \
  --moniker=$NODENAME \
  --identity=<your_keybase_id> \
  --website="<your_website>" \
  --details="<your_validator_description>" \
  --chain-id=$EMPOWER_CHAIN_ID \
  --from=$WALLET

Unjail validator

empowerd tx slashing unjail \
  --broadcast-mode=block \
  --from=$WALLET \
  --chain-id=$EMPOWER_CHAIN_ID \
  --gas=auto

RPC

https://testnet-empower-rpc.konsortech.xyz

API

https://testnet-empower-api.konsortech.xyz

gRPC

http://testnet-empower.konsortech.xyz:25090

Peers

b7097deda5c02803cbba9483fe436ad7df115ea2@testnet-empower.konsortech.xyz:25656

State Sync

sudo systemctl stop empowerd

cp $HOME/.empowerchain/data/priv_validator_state.json $HOME/.empowerchain/priv_validator_state.json.backup
empowerd tendermint unsafe-reset-all --home $HOME/.empowerchain --keep-addr-book

SNAP_RPC="https://testnet-empower-rpc.konsortech.xyz:443"

LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)

echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH

peers="b7097deda5c02803cbba9483fe436ad7df115ea2@testnet-empower.konsortech.xyz:26656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.empowerchain/config/config.toml

sed -i -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.empowerchain/config/config.toml

mv $HOME/.empowerchain/priv_validator_state.json.backup $HOME/.empowerchain/data/priv_validator_state.json

sudo systemctl restart empowerd
sudo journalctl -u empowerd -f --no-hostname -o cat