Skip to content

Lumen | Install Mainnet

HardwareRequirement
CPU4 Cores
RAM16 GB
Disk500 GB
sudo apt update
sudo apt-get install git curl build-essential make jq gcc snapd chrony lz4 tmux unzip bc -y
#Install Go
cd $HOME
GO_VERSION="1.25.5"
wget "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go${GO_VERSION}.linux-amd64.tar.gz"
rm "go${GO_VERSION}.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
cd $HOME
git clone https://github.com/network-lumen/blockchain lumen
cd lumen
git checkout v1.4.0
cd cmd/lumend
go build -o $HOME/go/bin/lumend -ldflags="-s -w"
mkdir -p $HOME/go/bin
export PATH=$PATH:$HOME/go/bin
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bash_profile
source ~/.bash_profile
lumend version
lumend init yourmoniker --chain-id lumen
wget -O $HOME/.lumen/config/genesis.json https://raw.githubusercontent.com/network-lumen/validator-kit/master/config/genesis.json
PEERS="0a4bbe418246ca2b9d1dec063ea1cb8898c01763@77.42.72.251:26656,1a5cbd9d580f502f5af5ecc5762553da7a7c6584@65.21.253.43:26656,825673007163d80295eefc5c00ff54aee7b33a67@seed.blocksync.me:34656"
sed -i -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.lumen/config/config.toml
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0ulmn\"/" $HOME/.lumen/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.lumen/config/config.toml
6. Custom config & port (optional, if needed)
Section titled “6. Custom config & port (optional, if needed)”
PORT=346
sed -i -e "s%:26657%:${PORT}57%" $HOME/.lumen/config/client.toml
sed -i -e "s%:26658%:${PORT}58%; s%:26657%:${PORT}57%; s%:6060%:${PORT}60%; s%:26656%:${PORT}56%; s%:26660%:${PORT}61%" $HOME/.lumen/config/config.toml
sed -i -e "s%:1317%:${PORT}17%; s%:9090%:${PORT}90%" $HOME/.lumen/config/app.toml
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "10"|' \
$HOME/.lumen/config/app.toml
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.lumen/config/config.toml
sudo tee /etc/systemd/system/lumen.service > /dev/null <<EOF
[Unit]
Description=Lumen Node
After=network-online.target
[Service]
User=$USER
ExecStart=$HOME/go/bin/lumend start --home $HOME/.lumen
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable lumen
curl -L "https://hub.maouam.xyz/hub/mainnet/lumen/snapshot/lumen_snapshot-latest.tar.lz4" | lz4 -dc - | tar -xf - -C $HOME/.lumen/
sudo systemctl start lumen
sudo journalctl -u lumen -f
lumend keys add wallet --keyring-backend test
11. Generate a PQC key named validator-pqc
Section titled “11. Generate a PQC key named validator-pqc”
lumend keys pqc-generate \
--name validator-pqc \
--home ~/.lumen \
--keyring-backend test
WALLET_ADDR=$(lumend keys show wallet -a --home ~/.lumen --keyring-backend test)
PQC_PUBKEY=$(lumend keys pqc-show validator-pqc \
--home ~/.lumen \
--keyring-backend test \
| awk '/PubKey/ && /hex/ {print $NF; exit}')
lumend tx pqc link-account \
--from wallet \
--pubkey "$PQC_PUBKEY" \
--scheme dilithium3 \
--chain-id lumen \
--home ~/.lumen \
--keyring-backend test \
--node http://localhost:34657/ \
--gas auto \
--gas-adjustment 1.5 \
--fees 0ulmn \
--yes \
--broadcast-mode sync
lumend query pqc account "$WALLET_ADDR" \
--node http://localhost:34657/ \
--home ~/.lumen
16. Create validator.json file (fill your info)
Section titled “16. Create validator.json file (fill your info)”
cat > $HOME/.lumen/validator.json <<EOF
{
"pubkey": $CONSENSUS_PUBKEY,
"amount": "1000000ulmn",
"moniker": "your_moniker",
"identity": "your_keybase",
"website": "your_web",
"details": "your_detail",
"security": "your_email",
"commission-rate": "0.1",
"commission-max-rate": "0.2",
"commission-max-change-rate": "0.05",
"min-self-delegation": "1"
}
EOF
CONSENSUS_PUBKEY=$(lumend comet show-validator)
lumend tx staking create-validator $HOME/.lumen/validator.json \
--from wallet \
--chain-id lumen \
--keyring-backend test \
--home ~/.lumen \
--pqc-key validator-pqc \
--pqc-from "$WALLET_ADDR" \
--pqc-scheme dilithium3 \
--gas auto \
--gas-adjustment 1.5 \
--fees 0ulmn
cat $HOME/.lumen/config/node_key.json
cat $HOME/.lumen/config/priv_validator_key.json
cat $HOME/.lumen/pqc_keys/keys.json