Skip to content

monolythium/monarch-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

111 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monarch

CLI tool for managing Monolythium blockchain validator nodes. Setup, operate, and monitor your node without touching config files.

Quick Start

# Install monarch
curl -sL https://github.com/monolythium/monarch-cli/releases/latest/download/monarch-linux-amd64 \
  -o ~/.local/bin/monarch && chmod +x ~/.local/bin/monarch

# Install dependencies (monod + oxidepm)
monarch install

# Join the testnet
monarch join --network Testnet

# Check status
monarch status

What it does

Monarch handles the full validator lifecycle:

  • Setup: install binaries, join network, sync from snapshot or genesis
  • Keys: create account keys (BIP39 mnemonic), manage validator consensus keys
  • Validator: guided registration, edit, unjail, stake, claim rewards
  • Governance: list proposals, vote, submit, deposit
  • Monitoring: health audits, time-series metrics, event detection, alerts
  • Security: server hardening, firewall rules, double-sign protection
  • Maintenance: upgrade binaries, wipe data, backup keys, boot persistence, log rotation

Commands

Getting Started
  monarch first-time             Step-by-step guide for new operators
  monarch help                   Full command reference

Setup
  monarch install                Install monod + oxidepm (sudo-free)
  monarch init                   Initialize node home (one-time, creates keys)
  monarch join                   Join a network (recommended — does init + config + start)
  monarch migrate                Migrate from systemd to oxidepm

Node Management
  monarch start                  Start the node process (does not modify files)
  monarch stop                   Stop the node (validator stops signing)
  monarch restart                Restart the node (does not modify files)
  monarch logs                   View node logs (follows by default)
  monarch status                 Show sync status, height, peers, validator info
  monarch doctor                 Full node health audit (13 categories)
  monarch repair                 Auto-fix config issues
  monarch monit                  Live process monitoring dashboard
  monarch top                    Real-time resource monitor

Key Management
  monarch keys account create    Create account key (24-word mnemonic)
  monarch keys account recover   Recover account key from mnemonic
  monarch keys account list      List account keys
  monarch keys validator create  Generate validator consensus key
  monarch keys validator export  Export validator key (encrypted backup)
  monarch keys validator import  Import validator key from backup

Validator
  monarch validator setup        Guided 5-step registration flow
  monarch validator status       Show validator info (human-readable tokens/commission)
  monarch validator unjail       Unjail after downtime
  monarch stake delegate         Delegate LYTH
  monarch stake unbond           Unbond LYTH (3-day unbonding)
  monarch rewards claim          Claim staking rewards

Governance
  monarch gov list               Show active proposals
  monarch gov vote               Vote on a proposal
  monarch gov submit             Submit a proposal

Metrics & Monitoring
  monarch metrics enable         Set up time-series data collection (cron, every 60s)
  monarch metrics query          Query historical snapshots (height, peers, CPU, disk, rank)
  monarch metrics events         Query detected events (jailing, rank changes, disk warnings)
  monarch metrics status         Collection status and data file sizes
  monarch notify setup           Configure alerts (Telegram/Discord/Slack)

Maintenance
  monarch upgrade                Upgrade monod (version selector)
  monarch upgrade self           Update monarch + oxidepm
  monarch harden                 Apply server security hardening
  monarch wipe                   Safe chain data wipe (3 modes, interactive)
  monarch backup                 Backup validator + node keys
  monarch save                   Save process state for persistence
  monarch enable-boot            Auto-start on reboot (user service or sudo)
  monarch disable-boot           Remove auto-start
  monarch logs-configure         Configure log rotation (max-size, max-files, compress)
  monarch env list/set/unset     Manage node environment variables

Networking
  monarch sentry init            Set up sentry architecture
  monarch expose                 Enable/disable RPC, EVM, REST
  monarch firewall               Generate firewall rules
  monarch peers update           Refresh peers from registry

Run monarch <command> --help for detailed usage of any command.

Command Safety Levels

SAFE      start, stop, restart, status, logs, doctor, metrics — process control and read-only
CAREFUL   join, validator setup, enable-boot — modifies config, guided with safety checks
DANGER    init --force, wipe --purge-keys, keys delete — destroys keys/data, IRREVERSIBLE

How it works

Monarch is the operator interface. It delegates to two other tools:

You → Monarch (setup + operate) → OxidePM (process management) → monod (chain)
  • Monarch handles setup, config, transactions, monitoring, metrics
  • OxidePM manages the process lifecycle (start/stop, auto-restart, health checks, relay-until-synced, upgrade detection)
  • monod is the Monolythium chain binary (consensus, EVM, P2P)

You never run monod directly. Monarch and OxidePM handle everything.

init vs join vs start

Command What it does When to use
monarch init Creates ~/.mono, generates keys, base config Advanced: custom genesis, development
monarch join Full setup: init + genesis + peers + start Recommended for all operators
monarch start Starts the process only — no file changes After stop, reboot, or crash

Key Management

Validators manage two independent keys:

Key Purpose Backup
Account key Sign transactions (stake, vote, send) 24-word mnemonic (BIP39)
Validator key Sign blocks (consensus) monarch keys validator export (encrypted)

Both are needed for a complete validator recovery. The mnemonic is shown once during monarch keys account create — write it down on paper.

Using a Browser Wallet Key

If you already created an account using the Monolythium browser wallet extension, you can use that same key for your validator. The extension and Monarch use the same key derivation (ethsecp256k1, BIP-44 coin type 60), so the addresses will match.

# Import your browser wallet mnemonic
monarch keys account recover my-key
# Enter your 24-word recovery phrase when prompted

# Verify the address matches your extension
monarch keys account show my-key

# Then run the guided validator setup
monarch validator setup

If using monod directly instead of Monarch:

monod keys add my-key --recover --keyring-backend file

Node Roles

monarch join --network Testnet                 # Full node (default)
monarch join --network Testnet --validator      # Validator (relay-until-synced)
monarch join --network Testnet --sentry         # Sentry node (DDoS protection)
monarch join --network Testnet --seed           # Seed node (peer discovery)
monarch join --network Testnet --archive        # Archive node (full history)

Doctor

monarch doctor runs a comprehensive 13-category audit:

  • System (OS, arch, security, NTP, swap, RAM, CPU)
  • Directory structure + file validation
  • Binary versions (monod, monarch, oxidepm)
  • Genesis verification (chain ID, SHA256)
  • Chain config drift detection
  • P2P connectivity (peers, seeds, DNS)
  • Port status (RPC, EVM, REST)
  • Sync progress
  • Process management
  • Disk usage + growth estimation
  • Network health (peer chain ID match)
  • Security (SSH, firewall, fail2ban, updates)
  • Validator status

Non-interactive Mode

All commands support --yes and --password flags for automation:

monarch join --network Testnet --yes
monarch validator setup --password mypassword --yes
monarch wipe --yes

Companion Tools

  • Monarch Connect �� Desktop GUI for remote node management via SSH, with embedded Claude AI and MCP server
  • OxidePM — Process manager with Cosmos-aware health checks, relay-until-synced, upgrade detection, and Telegram alerts

Building from Source

git clone https://github.com/monolythium/monarch-cli
cd monarch-cli
go build -o monarch ./cmd/monarch

Requires Go 1.25+.

License

Apache-2.0

About

CLI tool for managing Monolythium blockchain validator nodes

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages