Lumera Mainnet Validator
Lumera Protocol is a layer-1 blockchain designed to support decentralized AI services and Web3 applications.
| Chaind ID | Last Version Tag |
|---|---|
| lumera-mainnet-1 | v1.8.5 |
Binary Upgrade
Upgrade to v0.5.4
Target block: 2481632
Download & Extract Binary
bash
cd $HOME
rm -rf epix
git clone https://github.com/EpixZone/EpixChain.git epix
cd epix
git checkout v0.5.4
make build
./build/epixd versionStart a new tmux session
bash
tmux new -s epix-upgradeRun the auto-upgrade script.
⚠️ NOTE: Make sure you adjust the following according to your setup:
- RPC port: use your own RPC endpoint after -r (default is http://localhost:26657)
- API port: use your own REST API endpoint after -a (default is http://localhost:1317)
bash
UPGRADE_SCRIPT="https://raw.githubusercontent.com/astrostake/scripts/refs/heads/main/upgrade_binary.sh"
curl -sL $UPGRADE_SCRIPT | bash -s -- \
-b "epixd" \
-t "2481632" \
-n "$HOME/epix/build/epixd" \
-p "$HOME/go/bin" \
-r "http://localhost:14657" \
-i "5" \
-a "http://localhost:14317" \
-d "https://discord.com/api/webhooks/xxx/yyy" \ # optional
--progress-interval 0Flag explanation:
| Flag | Name | Description |
|---|---|---|
-b | binary-name | Name of the running daemon (e.g. lumend) |
-t | target-block | Block height at which the upgrade should happen |
-n | new-binary-path | Full path to the new binary |
-p | install-path | Path where the current binary is installed (default: $HOME/go/bin) |
-r | rpc-url | RPC endpoint used to monitor current block height |
-i | proposal-id | (Optional) Proposal ID to validate governance status |
-a | api-url | (Optional) API endpoint used to fetch proposal status |
Installation
- Install Dependencies
bash
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y- Install Go
bash
cd $HOME
VER="1.22.3"
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"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin- Set Vars
Configuration:
Generated Code:
Loading...- Download Binary
bash
cd $HOME
rm -rf EpixChain
git clone https://github.com/EpixZone/EpixChain.git epix
cd epix
git checkout v0.5.3
make install- Initialized
bash
epixd init $MONIKER --chain-id $EPIX_CHAIN_ID
epixd config set client chain-id $EPIX_CHAIN_ID- Download addrbook & genesis
bash
wget -O $HOME/.epixd/config/genesis.json https://snapshots.linknode.org/epix/genesis
wget -O $HOME/.epixd/config/addrbook.json https://snapshots.linknode.org/epix/addrbook- Configure Node
Configure peers
bash
SEEDS=""
PEERS="1d17e520821b9ace0dbc22bc363eca1f4db56fca@37.27.132.57:29656,acd1f06623ada3eea52fe877b49e2ddcfb446b28@65.21.234.111:39956,9545f8bbcad275605a4451f73c9ae5b9ee409106@157.180.52.245:26656,5b81ff974ce75a63ee1000cd93b35979e8d3b2ba@152.53.81.159:5256,af0af7aecbe587caa77df2409cbae2ab3901d90a@46.232.248.39:37656,1b7b67ff660e8609ad8dc75149509fafff7bd82b@84.203.116.103:26656,1a245cae33899e5977e7601f8d4bbb620aea8182@104.152.210.127:47656,2a8dd565aec7a6defc73711ab3fc2d053791b9e4@95.216.8.247:30656,8c865d562c0219fc79258553177015a948c11466@185.16.38.109:26656,e856349614761f33cadd276c5ea7da78c2582ec4@37.27.71.199:37656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.epixd/config/config.tomlUpdate app.toml ports
bash
sed -i.bak -e "s%:1317%:${EPIX_PORT}317%g;
s%:8080%:${EPIX_PORT}080%g;
s%:9090%:${EPIX_PORT}090%g;
s%:9091%:${EPIX_PORT}091%g;
s%:8545%:${EPIX_PORT}545%g;
s%:8546%:${EPIX_PORT}546%g;
s%:6065%:${EPIX_PORT}065%g" $HOME/.epixd/config/app.tomlUpdate config.toml ports
bash
sed -i.bak -e "s%:26658%:${EPIX_PORT}658%g;
s%:26657%:${EPIX_PORT}657%g;
s%:6060%:${EPIX_PORT}060%g;
s%:26656%:${EPIX_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${EPIX_PORT}656\"%;
s%:26660%:${EPIX_PORT}660%g" $HOME/.epixd/config/config.tomlConfigure Pruning
Pruning Strategy
Select a strategy to manage your node's storage usage.
Recommended for Validators to fine-tune storage.
Number of recent blocks/states to keep in disk.
blocks
Frequency of deletion. E.g., 10 means prune every 10 blocks.
blocks
Loading...Set Minimum Gas Fee & Other Parameters
bash
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.001aepix"|g' $HOME/.epixd/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.epixd/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.epixd/config/config.toml- Create Services
bash
sudo tee /etc/systemd/system/epixd.service > /dev/null <<EOF
[Unit]
Description=epix-mainnet
After=network-online.target
[Service]
User=$USER
ExecStart=$(which epixd) start --home $HOME/.epixd
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF- Start Services
bash
sudo systemctl daemon-reload
sudo systemctl enable epixd
sudo systemctl restart epixd && sudo journalctl -u epixd -fo catUseful Commands
INFO
For a complete guide to creating a validator, visit our Cheat Sheet & Key Management page. It covers all the necessary commands and crucial steps for securing your keys.
Check logs
bash
sudo journalctl -u epixd -fo catCheck Sync
bash
curl -sL https://raw.githubusercontent.com/astrostake/scripts/refs/heads/main/cosmos_sync_monitor.sh | bash -s -- --directory $HOME/.epixd --public-rpc https://epix-rpc.linknode.org --interval 5🛡️ Security
To apply a quick security baseline, you can configure your firewall like this:
bash
sudo ufw allow ${EPIX_PORT}656/tcp comment 'EPIX Node p2p Port'🔐 For a more secure and maintainable setup, check out our Essentials Guide, including SSH key setup, Fail2Ban protection, and a full VPS hardening checklist.
