跳到主要内容

Testnet Setup

This guide walks you through setting up a node on the Monolythium Testnet. Choose between the recommended Monarch CLI path or the advanced raw monod path.

Network Details

ParameterValue
Cosmos Chain IDmono_6940-1
EVM Chain ID6940 (0x1B1C)
Bond Denomalyth (18 decimals)
Display DenomLYTH
ConsensusLythiumBFT
Unbonding Period3 days
Max Validators53
Inflation8% annual (fixed)
Fee Burn90% of transaction fees burned

Monarch CLI handles genesis download, SHA256 verification, peer configuration, and process management automatically.

1. Install Monarch

curl -fsSL https://raw.githubusercontent.com/monolythium/monarch-cli/prod/scripts/install.sh | bash

Verify the installation:

monarch version

2. Join the Testnet

For a validator node:

monarch join --network Testnet --validator --moniker my-node

For a full node (non-validating):

monarch join --network Testnet --moniker my-node

For a seed node:

monarch join --network Testnet --seed --moniker my-seed

This command automatically:

  • Downloads the official genesis file and verifies its SHA256 checksum
  • Initializes the node home directory at ~/.mono
  • Configures seeds and persistent peers from the Monolythium peer registry
  • Sets the minimum gas price
  • Starts the node via OxidePM with auto-restart and health checks

3. Check Status

monarch status

Wait for the node to sync. The catching_up field will show false when sync is complete.

4. Run Health Audit

monarch doctor

This checks 13 categories including binaries, genesis, config, P2P, ports, sync, disk, and security. Fix any warnings with:

monarch repair

5. Become a Validator (Optional)

After your node is fully synced, follow the Validator Operations guide to register as a validator.


Path B: Raw monod (Advanced)

For operators who prefer manual control over every configuration step.

1. Prerequisites

  • OS: Ubuntu 24.04 LTS or later
  • Go: 1.24.2+ (download)
  • Hardware: 4 CPU, 8 GB RAM, 200 GB SSD (minimum)

2. Build from Source

# Clone the repository
git clone https://github.com/monolythium/mono-chain.git && cd mono-chain

# Checkout the latest release tag
git checkout <release-tag>

# Build and install
make install
sudo mv $(go env GOPATH)/bin/monod /usr/local/bin/

# Verify
monod version

3. Initialize the Node

monod init my-node --chain-id mono_6940-1

4. Download Genesis

curl -s https://raw.githubusercontent.com/monolythium/networks/prod/testnet/genesis.json \
-o ~/.mono/config/genesis.json

5. Configure Peers

SEEDS="561c4313fa36aa568ce51d13c66f326192c48b41@159.69.176.32:26656"
PEERS="057a448a58b045617d57a255fca177d4b7a023ef@78.47.141.58:26656,899fa0c4f25c760356d0e6666ee13f56d52a78ae@159.69.89.111:26656,b8b0caf66fb7268b5e7bacd897fc95980188980b@46.62.197.55:26656,b112a77286bc33ca233c3c24e8d9abf99568debc@178.104.87.244:26656,8010a82ebce1cb52475f5b2ee6e08c5b7b76ad12@46.62.206.153:26656,2209c1f9eac0f4fb0fd11ba25ecf1c56571136cc@91.99.217.26:26656,3bb59a080a026bd53afbd6c7d202c074cc321045@46.62.206.194:26656"

sed -i "s/^seeds = .*/seeds = \"$SEEDS\"/" ~/.mono/config/config.toml
sed -i "s/^persistent_peers = .*/persistent_peers = \"$PEERS\"/" ~/.mono/config/config.toml

6. Set Minimum Gas Price and EVM Chain ID

sed -i 's/^minimum-gas-prices = .*/minimum-gas-prices = "10000000000alyth"/' ~/.mono/config/app.toml

# Critical: monod defaults to evm-chain-id 262144 — must be set to 6940 for Testnet
sed -i 's/^evm-chain-id = .*/evm-chain-id = 6940/' ~/.mono/config/app.toml
EVM Chain ID Required

Skipping this step causes an AppHash mismatch at the first EVM transaction. The node will stall and refuse to advance. The default evm-chain-id (262144) is a generic Ethermint value — Testnet requires 6940.

7. Enable EVM JSON-RPC (Optional)

If you plan to serve EVM RPC traffic or develop DApps:

sed -i '/\[json-rpc\]/,/\[/ s/^enable = false/enable = true/' ~/.mono/config/app.toml

8. Start the Node

monod start

Your node will sync from genesis. Consider setting up a systemd service for production use -- see Installation for systemd configuration.

Sync Time

Syncing from genesis may take several hours depending on the current chain height. For faster sync, use Monarch CLI with --sync-mode snapshot or see State Sync.


Public Endpoints

ServiceURL
Cosmos RPChttps://rpc.testnet.mononodes.xyz
Cosmos RESThttps://api.testnet.mononodes.xyz
EVM JSON-RPChttps://evm.testnet.mononodes.xyz
Block Explorertestnet.monoscan.xyz

Add Testnet to MetaMask

FieldValue
Network NameMonolythium Testnet
RPC URLhttps://evm.testnet.mononodes.xyz
Chain ID6940
Currency SymbolLYTH
Block Explorerhttps://testnet.monoscan.xyz

Get Testnet LYTH

Visit the faucet to receive testnet LYTH tokens, or see Get LYTH for more options.


Verify Your Node

After the node finishes syncing, verify it is healthy:

# Using Monarch
monarch status
monarch doctor

# Using monod directly
curl -s localhost:26657/status | jq '.result.sync_info'
curl -s localhost:26657/net_info | jq '.result.n_peers'

Your node should show:

  • catching_up: false (fully synced)
  • At least 3--5 connected peers
  • Block height increasing

Next Steps