catching_up: false, continue to create validator.
Step 1. Install dependencies
SSH into your server, update the system, and install the required packages.Step 2. Install Go
Use the version pinned in the chain’sgo.mod, currently Go 1.26.2.
Step 3. Install lumerad
Lumera publishes a prebuiltlinux/amd64 binary for every release, so there is nothing to compile. Run the version testnet is on, currently v1.20.1.
lumerad into /usr/local/bin, installs libwasmvm.x86_64.so into /usr/lib, and refreshes the linker cache.
Step 4. Initialize the node
Pick a moniker. This is the public name for your validator. Replacemy-validator with your own name, then initialize.
~/.lumera with a config/ directory. It generates your node key and consensus key, and writes default config.toml, app.toml, and client.toml.
Back up your keys right away.
Step 5. Download and verify genesis
Download the testnet genesis file and check its hash.Step 6. Configure the node
Set the seed node and the minimum gas price.indexer = "null" turns off the transaction indexer and saves disk. Leave it as "kv" if you need to query historical transactions by hash from this node.lumerad can listen on the ports below. Everything except 26656 should be firewalled or bound to 127.0.0.1.
Step 7. Harden the server
Firewall
Allow SSH and the P2P port. Deny everything else inbound.Dedicated user
Run the node as its own user rather thanroot.
~/.lumera resolves to the same data before and after the switch.
validator, and $HOME must already be /home/validator when you write the systemd unit in Step 9.
SSH
Harden SSH on a machine that holds a consensus key. Disable password logins and root SSH. This locksroot out of SSH, so do not run it until the user above exists and you have logged in as it.
Drop-ins in /etc/ssh/sshd_config.d/ override the main file. Check for conflicting values first.
Step 8. Sync the chain
Pick one of the two options below. The snapshot is fastest and is the recommended path.Option A. Snapshot (recommended)
Copy the current URL from Polkachu’s Lumera testnet snapshots, currently about 55 GB.Option B. State sync
State sync fetches a verified state snapshot over the P2P layer instead of downloading a database. It uses no third-party storage. It depends on the RPC provider having snapshots enabled.[statesync] section. Confirm the result before you start.
Step 9. Create the systemd service
Create the service unit.$USER and which lumerad resolve on their own, so you can paste this as is.
Before your first upgrade, switch this unit to run under Cosmovisor so binary swaps happen automatically at the upgrade height. See the chain upgrades section of operations.
Step 10. Start and verify
Start the node and watch the logs.Ctrl+C to stop tailing. This does not stop the node.
Wait a minute or two, then check the sync status.
catching_up is false. Compare your height against the live chain.
If zero peers persists, check the logs.
Couldn't connect to any seeds with connection refused means the seed is down. In that case, stop the node, refresh seeds from the chain-registry, install a current addrbook, then start it again. config.toml is only read at startup, so edits do nothing until you restart.Verification checklist
Everything below should pass before you create your validator.Next steps
Oncecatching_up is false, register your validator.
Create validator
Create a wallet, fund it from the faucet, and register.
Operations
Day-to-day commands, upgrades, monitoring, and troubleshooting.