Validator Keys
Each validator needs a controller keypair (operator identity) and a consensus keypair (block signing). The CLI generates both and writes an encrypted archive.
Generate keys
omne-node validator keys generate \
--output-dir ~/.omne/keys \
--label "genesis-validator"You’ll be prompted for a passphrase. For automation, supply one via file:
omne-node validator keys generate \
--output-dir ~/.omne/keys \
--label "genesis-validator" \
--passphrase-file /path/to/passphrase.txt \
--skip-passphrase-confirmationKey archive format
The archive is stored as encrypted JSON with:
- Controller and consensus public/private keys (hex-encoded)
- Blake3 fingerprints for quick verification
- Optional user label
- UTC timestamp of generation
Inspect keys
View public keys (default — private keys are not shown):
omne-node validator keys inspect \
--path ~/.omne/keys/genesis-validator.json \
--passphrase-file /path/to/passphrase.txtPass --raw to print the full JSON payload.
Security
🚫
Key archives are encrypted at rest. Never commit passphrase files to version control. In production, use a secrets manager or HSM.
Best practices:
- Store key archives on encrypted volumes
- Use separate passphrases per validator
- Back up archives to offline storage
- Rotate keys periodically
- Use
--labelconsistently for identification across environments