💾 Installation

1. Operating System Preparation

Start by bringing the system up to date:

apt update && apt upgrade -y

If the upgrade included a kernel update, reboot the machine before proceeding.


2. Install Required System Tools

Install the utilities needed for disk management, networking, and downloads:

apt install -y curl aria2 jq nvme-cli ufw

3. Add the Monad Package Repository

Create a dedicated APT source file:

cat <<EOF > /etc/apt/sources.list.d/category-labs.sources
Types: deb
URIs: https://pkg.category.xyz/
Suites: noble
Components: main
Signed-By: /etc/apt/keyrings/category-labs.gpg
EOF

Import and register the repository signing key:

Install Monad and lock the version:


4. Create a Dedicated Monad User

Running services under a non-root user is required.

Prepare the directory layout:


5. Configure NVMe Storage for TrieDB

5.1 Identify the NVMe Device

List available NVMe drives:

⚠️ Make sure the selected device is unused and not mounted.


5.2 Partition the Device

Set the correct device path before running:

Create a GPT partition spanning the entire disk:


5.3 Create a Persistent Device Alias

Fetch the partition UUID:

Create a udev rule for a stable symlink:

Reload udev rules and verify:


6. Verify Logical Block Size

Ensure the namespace uses 512-byte sectors:

Expected output:

If a different LBA format is active:


7. Initialize the TrieDB (MPT)

Start the MPT initialization service:

A successful run ends with:


8. Firewall Configuration

Allow SSH and Monad P2P traffic:

Optional UDP packet filtering:


9. Telemetry (OpenTelemetry Collector)

Download and install the collector package:

Apply the Monad telemetry configuration:

Metrics endpoint:


10. Download Network Configuration Files


11. Validator Key Generation

Generate a strong keystore password:

Create validator keys:


12. Snapshot-Based Sync

Stop running services:

Reset the workspace and restore from snapshot:


13. Validator Node Configuration

Edit the configuration file:

Update the required fields:

Reload configuration without restarting services:


14. Start Monad Services

Set ownership and enable services:


15. Validator Registration (Staking CLI)

Install the staking CLI:

Recover private keys:

Register the validator:


16. Validation Checks

Last updated