Lumen Mainnet Validator
The first quantum-resistant blockchain in the Cosmos ecosystem, featuring dual-signature (ed25519 + Dilithium PQC) for future-proof security.
| Chaind ID | Last Version Tag |
|---|---|
| lumen | v1.3.0 |
Installation
1. Install Dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -yThese are standard build and runtime tools.
Ifmakeorgccis missing, the binary build will fail.
2. Install Go
cd $HOME
VER="1.23.1"
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/binMake sure
go versionreturns Go 1.23.x before continuing.
3. Set Environment Variables
Configuration:
Generated Code:
Loading...
PQC_WALLETis required for Lumen.
This wallet stores the Dilithium key and cannot be regenerated if lost.
4. Download Binary
git clone https://github.com/network-lumen/blockchain.git
mv blockchain lumen
cd lumen
git checkout v1.3.0
make build
sudo mv build/lumend /usr/local/bin/lumend
lumend versionEnsure the version matches before continuing.
To check the currently active network version or upcoming upgrades, see:
https://stake.astrostake.xyz/lumen/upgrades
5. Initialized
lumend init $MONIKER --chain-id $LUMEN_CHAIN_ID --home $HOME/.lumenThis creates the
.lumendirectory.
6. Download addrbook & genesis
wget -O $HOME/.lumen/config/genesis.json https://snapshots.linknode.org/lumen/genesis
wget -O $HOME/.lumen/config/addrbook.json https://snapshots.linknode.org/lumen/addrbook7. Configure Node
Configure peers
SEEDS="0a4bbe418246ca2b9d1dec063ea1cb8898c01763@77.42.72.251:26656,1a5cbd9d580f502f5af5ecc5762553da7a7c6584@65.21.253.43:26656,825673007163d80295eefc5c00ff54aee7b33a67@seed.blocksync.me:34656"
PEERS="c5f95792a7472e908e20cad357c229dad9694764@135.181.139.249:35656,1a5cbd9d580f502f5af5ecc5762553da7a7c6584@65.21.253.43:26656,24d5c05b41405cc32710c92a4fb1e3cab68f3fab@195.201.160.23:15756,706acd4c2a14243c6531e66b8c512da537c553f2@159.195.71.11:26656,b0bb113d454884fdc6a5c2d62e5e4751c1854d0b@144.91.79.28:26656,5c43ef76aad347b77af51f80e3559f18dcae0437@95.217.76.186:26656,6072dd0de7b80319acf5f450525a4b01c37d5570@65.108.13.52:26746,1093437cfe9b8f816722e51f8a9e6f86fb3574c7@152.53.246.133:34656,0a4bbe418246ca2b9d1dec063ea1cb8898c01763@77.42.72.251:26656,2655f5854eafcd624b143940674380fc1e4cde31@95.216.8.247:33656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.lumen/config/config.tomlIncrease P2P Payload Size (Required)
sed -i 's/^max_packet_msg_payload_size[[:space:]]*=[[:space:]]*[0-9]\+/max_packet_msg_payload_size = 1048576/' ~/.lumen/config/config.tomlRequired due to large PQC-related P2P messages.
Optional: Set Custom Port
Update app.toml ports
sed -i.bak -e "s%:1317%:${LUMEN_PORT}317%g;
s%:8080%:${LUMEN_PORT}080%g;
s%:9090%:${LUMEN_PORT}090%g;
s%:9091%:${LUMEN_PORT}091%g;
s%:8545%:${LUMEN_PORT}545%g;
s%:8546%:${LUMEN_PORT}546%g;
s%:6065%:${LUMEN_PORT}065%g" $HOME/.lumen/config/app.tomlUpdate config.toml ports
sed -i.bak -e "s%:26658%:${LUMEN_PORT}658%g;
s%:26657%:${LUMEN_PORT}657%g;
s%:6060%:${LUMEN_PORT}060%g;
s%:26656%:${LUMEN_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${LUMEN_PORT}656\"%;
s%:26660%:${LUMEN_PORT}660%g" $HOME/.lumen/config/config.tomlConfigure Pruning
Loading...Set Minimum Gas Fee & Other Parameters
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0ulmn"|g' $HOME/.lumen/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.lumen/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.lumen/config/config.toml- Create Services
sudo tee /etc/systemd/system/lumend.service > /dev/null <<EOF
[Unit]
Description=Lumen node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.lumen
ExecStart=$(which lumend) start --home $HOME/.lumen
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF- Start Services
sudo systemctl daemon-reload
sudo systemctl enable lumend
sudo systemctl restart lumend && sudo journalctl -u lumend -fo catWait for full sync before creating the validator.
Useful 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
sudo journalctl -u lumend -fo catCheck Sync
curl -sL https://raw.githubusercontent.com/astrostake/scripts/refs/heads/main/cosmos_sync_monitor.sh | bash -s -- --directory $HOME/.lumen --public-rpc https://lumen-rpc.linknode.org --interval 5🛡️ Security
To apply a quick security baseline, you can configure your firewall like this:
sudo ufw allow ${LUMEN_PORT}656/tcp comment 'LUMEN 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.
