Installation
Last updated
Last updated
Install with one line script
Manual installation
(Optional) Configure timeouts for processing blocks
Enable and start service
After successful synchronisation we recommend to turn off snapshot_interval and state sync, this will save space on your hardware.
Create wallet
⚠️ store seed phrase, important during recovering
Recover wallet
⚠️ store seed phrase, important during recovering
After successful synchronisation we can proceed with validation creation.
Create validator
bash <(curl -s https://raw.githubusercontent.com/staketown/cosmos/master/evmos/main_install.sh)
sudo apt update
sudo apt install -y curl git jq lz4 build-essential unzip
bash <(curl -s "https://raw.githubusercontent.com/staketown/cosmos/master/utils/go_install.sh")
source .bash_profile
cd $HOME || return
rm -rf evmos
git clone https://github.com/tharsis/evmos.git
cd evmos || return
git checkout v19.2.0
make install
evmosd config keyring-backend os
evmosd config chain-id evmos_9001-2
evmosd init "Your Moniker" --chain-id evmos_9001-2
curl -s https://snapshots.polkachu.com/genesis/evmos/genesis.json > $HOME/.evmosd/config/genesis.json
curl -s https://snapshots.polkachu.com/addrbook/evmos/addrbook.json > $HOME/.evmosd/config/addrbook.json
APP_TOML="~/.evmosd/config/app.toml"
sed -i 's|^pruning *=.*|pruning = "custom"|g' $APP_TOML
sed -i 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|g' $APP_TOML
sed -i 's|^pruning-interval *=.*|pruning-interval = "10"|g' $APP_TOML
sed -i 's|^snapshot-interval *=.*|snapshot-interval = 19|g' $APP_TOML
CONFIG_TOML="~/.evmosd/config/config.toml"
SEEDS=""
PEERS="25695d17ec014c39054ac0026db3228053a6a2db@65.108.195.213:40656"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $CONFIG_TOML
sed -i.bak -e "s/^seeds =.*/seeds = \"$SEEDS\"/" $CONFIG_TOML
external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:26656\"/" $CONFIG_TOML
sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "250000000aevmos"|g' $CONFIG_TOML
sed -i 's|^prometheus *=.*|prometheus = true|' $CONFIG_TOML
sed -i -e "s/^filter_peers *=.*/filter_peers = \"true\"/" $CONFIG_TOML
# Install cosmovisor
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
mkdir -p ~/.evmosd/cosmovisor/genesis/bin
mkdir -p ~/.evmosd/cosmovisor/upgrades
cp ~/go/bin/evmosd ~/.evmosd/cosmovisor/genesis/bin
sudo tee /etc/systemd/system/evmosd.service > /dev/null << EOF
[Unit]
Description=Evmos Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=3
LimitNOFILE=10000
Environment="DAEMON_NAME=evmosd"
Environment="DAEMON_HOME=$HOME/.evmosd"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="UNSAFE_SKIP_BACKUP=true"
[Install]
WantedBy=multi-user.target
EOF
# Snapshots
evmosd tendermint unsafe-reset-all --home $HOME/.evmosd --keep-addr-book
# Add snapshot here
SNAP_NAME=$(curl -s https://ss.evmos.nodestake.top/ | egrep -o ">20.*\.tar.lz4" | tr -d ">")
curl -o - -L https://ss.evmos.nodestake.top/${SNAP_NAME} | lz4 -c -d - | tar -x -C $HOME/.evmosd
[[ -f $HOME/.evmosd/data/upgrade-info.json ]] && cp $HOME/.evmosd/data/upgrade-info.json $HOME/.evmosd/cosmovisor/genesis/upgrade-info.json
CONFIG_TOML="~/.evmosd/config/config.toml"
sed -i 's/timeout_propose =.*/timeout_propose = "100ms"/g' $CONFIG_TOML
sed -i 's/timeout_propose_delta =.*/timeout_propose_delta = "500ms"/g' $CONFIG_TOML
sed -i 's/timeout_prevote =.*/timeout_prevote = "100ms"/g' $CONFIG_TOML
sed -i 's/timeout_prevote_delta =.*/timeout_prevote_delta = "500ms"/g' $CONFIG_TOML
sed -i 's/timeout_precommit =.*/timeout_precommit = "100ms"/g' $CONFIG_TOML
sed -i 's/timeout_precommit_delta =.*/timeout_precommit_delta = "500ms"/g' $CONFIG_TOML
sed -i 's/timeout_commit =.*/timeout_commit = "1s"/g' $CONFIG_TOML
sed -i 's/skip_timeout_commit =.*/skip_timeout_commit = false/g' $CONFIG_TOML
sudo systemctl daemon-reload
sudo systemctl enable evmosd
sudo systemctl start evmosd
sudo journalctl -u evmosd -f -o cat
snapshot_interval=0
sed -i.bak -e "s/^snapshot-interval *=.*/snapshot-interval = \"$snapshot_interval\"/" ~/.evmosd/config/app.toml
sed -i 's|^enable *=.*|enable = false|' $HOME/.evmosd/config/config.toml
sudo systemctl restart evmosd && sudo journalctl -u evmosd -f -o cat
evmosd keys add <YOUR_WALLET_NAME>
evmosd keys add <YOUR_WALLET_NAME> --recover
evmosd tx staking create-validator \
--amount=1000000000000000000aevmos \
--pubkey=$(evmosd tendermint show-validator) \
--moniker="<Your moniker>" \
--identity=<Your identity> \
--details="<Your details>" \
--chain-id=evmos_9001-2 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.1 \
--min-self-delegation=1 \
--from=<YOUR_WALLET> \
--fees=2000000000000aevmos \
-y