Install
Website
Discord
GitHub
Explorer
dApp
Endpoints | Genesis | Addrbook
curl -Ls https://snapshots.moonbridge.org/mainnet/elys/genesis.json > $HOME/.elys/config/genesis.json
curl -Ls https://snapshots.moonbridge.org/mainnet/elys/addrbook.json > $HOME/.elys/config/addrbook.json
Chain ID: elys-1 Latest Version: v2.3.0 Custom Port: 160
Specify the name of your “MONIKER” (validator) which will be visible in the explorer
MONIKER="YOUR_MONIKER_NAME"
Update system and install tools
sudo apt update && sudo apt upgrade -ysudo apt install curl build-essential git jq lz4 ncdu btop -y
Install GO
cd $HOMEversion="1.23.6"wget "https://golang.org/dl/go$version.linux-amd64.tar.gz"sudo rm -rf /usr/local/gosudo tar -C /usr/local -xzf "go$version.linux-amd64.tar.gz"rm "go$version.linux-amd64.tar.gz"echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profilesource $HOME/.bash_profile
Install Cosmovisor
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
Download and install
cd $HOMEgit clone https://github.com/elys-network/elys.gitcd elysgit checkout v2.3.0make installelysd version --long | grep -e commit -e version
Config and Init node
# Set node configurationelysd config set client chain-id elys-1elysd config set client keyring-backend fileelysd config set client node tcp://localhost:16057
# Initialize nodeelysd init $MONIKER --chain-id elys-1
# Download genesis and addrbookcurl -Ls https://snapshots.moonbridge.org/mainnet/elys/genesis.json > $HOME/.elys/config/genesis.jsoncurl -Ls https://snapshots.moonbridge.org/mainnet/elys/addrbook.json > $HOME/.elys/config/addrbook.json
# Set seeds and peersSEEDS=""PEERS=""sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.elys/config/config.toml
# Setting minimum gas pricesed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.0003uelys,0.001ibc/F082B65C88E4B6D5EF1DB243CDA1D331D002759E938A0F5CD3FFDC5D53B3E349,0.001ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9\"|" $HOME/.elys/config/app.toml
# Setting pruningsed -i -e 's|^pruning *=.*|pruning = "custom"|' $HOME/.elys/config/app.tomlsed -i -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' $HOME/.elys/config/app.tomlsed -i -e 's|^pruning-interval *=.*|pruning-interval = "10"|' $HOME/.elys/config/app.toml
sed -i -e 's|^db_backend *=.*|db_backend = "pebbledb"|' $HOME/.elys/config/config.tomlsed -i -e 's/timeout_commit = "5s"/timeout_commit = "3s"/g' $HOME/.elys/config/config.toml
sed -i -e 's|^app-db-backend *=.*|app-db-backend = "pebbledb"|' $HOME/.elys/config/app.toml
# Disable indexersed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.elys/config/config.toml
# Enable Prometheussed -i -e "s/prometheus = false/prometheus = true/" $HOME/.elys/config/config.toml
# Setting custom portssed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:16058\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://0.0.0.0:16057\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:16060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:16056\"%; s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):16056\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":16066\"%" $HOME/.elys/config/config.tomlsed -i -e "s%:1317%:16017%g; s%:8080%:16080%g; s%:9090%:16090%g; s%:9091%:16091%g; s%:8545%:16045%g; s%:8546%:16046%g; s%:6065%:16065%g" $HOME/.elys/config/app.toml
Configure Cosmovisor
mkdir -p $HOME/.elys/cosmovisor/genesis/binmkdir -p $HOME/.elys/cosmovisor/upgradescp $HOME/go/bin/elysd $HOME/.elys/cosmovisor/genesis/bin/
Create service
sudo tee /etc/systemd/system/elysd.service > /dev/null << EOF[Unit]Description=Elys NodeAfter=network-online.target
[Service]User=$USERExecStart=$(which cosmovisor) run startRestart=alwaysRestartSec=5LimitNOFILE=65535Environment="DAEMON_NAME=elysd"Environment="DAEMON_HOME=$HOME/.elys"Environment="UNSAFE_SKIP_BACKUP=true"Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
[Install]WantedBy=multi-user.targetEOFsudo systemctl daemon-reloadsudo systemctl enable elysd
Download latest snapshot
curl -o - -L https://snapshots.moonbridge.org/mainnet/elys/snapshot_latest.tar.lz4 | lz4 -dc - | tar -x -C $HOME/.elys[[ -f $HOME/.elys/data/upgrade-info.json ]] && cp $HOME/.elys/data/upgrade-info.json $HOME/.elys/cosmovisor/genesis/upgrade-info.json
Start service and check the logs
sudo systemctl start elysd && sudo journalctl -u elysd -f --no-hostname -o cat
Create wallet
elysd keys add wallet
Check wallet balance
elysd q bank balances $(elysd keys show wallet -a)
Create a validator.json
Get pubkey
elysd comet show-validator
cd $HOME/.elys/confignano validator.json
{ "pubkey": {"@type":"/cosmos.crypto.ed25519.PubKey","key":"lR1d7YBVK5jYijOfWVKRFoWCsS4dg3kagT7LB9GnG8I="}, "amount": "1000000uelys", "moniker": "YOUR_MONIKER_NAME", "identity": "YOUR_KEYBASE_ID", "details": "YOUR_DETAILS", "website": "YOUR_WEBSITE_URL", "security": "YOUR_EMAIL_ADDRESS", "commission-rate": "0.05", "commission-max-rate": "0.20", "commission-max-change-rate": "0.01", "min-self-delegation": "1"}
Create validator
elysd tx staking create-validator $HOME/.elys/config/validator.json \ --chain-id elys-1 \ --from wallet \ --gas-prices "0.0003uelys" \ --gas auto \ --gas-adjustment 1.4 \ -y
Delete node
sudo systemctl stop elysdsudo systemctl disable elysdsudo rm -rf /etc/systemd/system/elysd.servicesudo systemctl daemon-reloadsudo rm -f $(which elysd)sudo rm -rf $HOME/.elyssudo rm -rf $HOME/elys