Lumera Testnet Validator
Lumera Protocol is a layer-1 blockchain designed to support decentralized AI services and Web3 applications.
Chaind ID | Last Version Tag |
---|---|
lumera-testnet-2 | v1.7.0 |
Binary Upgrade
Upgrade to v1.7.0 Aurora Vertex
Target block: 425000
Download & Extract Binary
bash
cd $HOME
mkdir -p lumera
cd lumera
wget https://github.com/LumeraProtocol/lumera/releases/download/v1.7.0/lumera_v1.7.0_linux_amd64.tar.gz
tar -xvf lumera_v1.7.0_linux_amd64.tar.gz
Start a new tmux
session
bash
tmux new -s lumera-upgrade
Run 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 "lumerad" \
-t "425000" \
-n "$HOME/lumera/lumerad" \
-p "$HOME/go/bin" \
-r "http://localhost:16957" \
-i "1" \
-a "http://localhost:16317" \
-d "https://discord.com/api/webhooks/xxx/yyy" \ # optional
--progress-interval 0
Flag explanation:
Flag | Name | Description |
---|---|---|
-b | binary-name | Name of the running daemon (e.g. lumerad ) |
-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
wget https://github.com/LumeraProtocol/lumera/releases/download/v1.7.0/lumera_v1.7.0_linux_amd64.tar.gz
tar -xvf lumera_v1.7.0_linux_amd64.tar.gz
rm lumera_v1.7.0_linux_amd64.tar.gz
rm install.sh
mv libwasmvm.x86_64.so /usr/lib/
chmod +x lumerad
mv lumerad $HOME/go/bin/
lumerad version
- Initialized
bash
lumerad init $MONIKER --chain-id $LUMERA_CHAIN_ID
sed -i \
-e 's|^chain-id *=.*|chain-id = "lumera-testnet-2"|' \
-e 's|^keyring-backend *=.*|keyring-backend = "os"|' \
-e "s|^node *=.*|node = \"tcp://localhost:${LUMERA_PORT}657\"|" \
$HOME/.lumera/config/client.toml
- Download addrbook & genesis
bash
wget -O $HOME/.lumera/config/genesis.json https://vault2.astrostake.xyz/testnet/lumera/genesis.json
wget -O $HOME/.lumera/config/addrbook.json https://vault2.astrostake.xyz/testnet/lumera/addrbook.json
curl -o ~/.lumera/config/claims.csv https://raw.githubusercontent.com/LumeraProtocol/lumera-networks/refs/heads/master/testnet-2/claims.csv
- Configure Node
Configure peers
bash
sed -i -e 's/^persistent_peers *=.*/persistent_peers = "05df2ce27cd2f2a5c7ecc8ec4d78c9243e39444b@3.236.181.141:26656,3b78b08bd9d9d0a2b17a944241a849ce04d8607e@44.204.100.172:26656"/' $HOME/.lumera/config/config.toml
Update app.toml
ports
bash
sed -i.bak -e "s%:1317%:${LUMERA_PORT}317%g;
s%:8080%:${LUMERA_PORT}080%g;
s%:9090%:${LUMERA_PORT}090%g;
s%:9091%:${LUMERA_PORT}091%g;
s%:8545%:${LUMERA_PORT}545%g;
s%:8546%:${LUMERA_PORT}546%g;
s%:6065%:${LUMERA_PORT}065%g" $HOME/.lumera/config/app.toml
Update config.toml
ports
bash
sed -i.bak -e "s%:26658%:${LUMERA_PORT}658%g;
s%:26657%:${LUMERA_PORT}657%g;
s%:6060%:${LUMERA_PORT}060%g;
s%:26656%:${LUMERA_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${LUMERA_PORT}656\"%;
s%:26660%:${LUMERA_PORT}660%g" $HOME/.lumera/config/config.toml
Configure pruning
bash
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.lumera/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.lumera/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $HOME/.lumera/config/app.toml
Set Minimum Gas Fee & Other Parameters
bash
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.025ulume"|g' $HOME/.lumera/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.lumera/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.lumera/config/config.toml
- Create Services
bash
sudo tee /etc/systemd/system/lumerad.service > /dev/null <<EOF
[Unit]
Description=lumera-testnet
After=network-online.target
[Service]
User=$USER
ExecStart=$(which lumerad) start --home $HOME/.lumera
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
- Start Services
bash
sudo systemctl daemon-reload
sudo systemctl enable lumerad
sudo systemctl restart lumerad && sudo journalctl -u lumerad -fo cat
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
bash
sudo journalctl -u lumerad -fo cat
Check Sync
bash
curl -sL https://raw.githubusercontent.com/astrostake/scripts/refs/heads/main/cosmos_sync_monitor.sh | bash -s -- --directory $HOME/.lumera --public-rpc https://lumera-testnet-rpc.linknode.org --interval 5
🛡️ Security
To apply a quick security baseline, you can configure your firewall like this:
bash
sudo ufw allow ${LUMERA_PORT}656/tcp comment 'LUMERA 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.