Monetarium Linux Installation Guide
Monetarium Linux Installation Guide
This guide provides step-by-step instructions for installing and running a Monetarium node and wallet on Linux (Ubuntu).
Table of Contents
- Introduction
- System Requirements
- Download Binaries
- Installation
- Running the Node
- Running the Wallet
- Using ctl
- Router/NAT/Firewall Configuration
- Running as Background Service
- Connecting to Seed Nodes
- Wallet Backup & Recovery
- CPU Mining Configuration
- Staking & Ticket Auto-Purchase
- Verification & Troubleshooting
Introduction
Monetarium is a multi-coin blockchain system featuring VAR (Varta) and SKA (Skarb) coins. This guide covers:
- Installing the Monetarium node (
node) to participate in the network - Setting up the wallet (
wallet) to manage your coins - Configuring your network for optimal connectivity
System Requirements
| Requirement | Minimum |
|---|---|
| Linux Version | Ubuntu 20.04 LTS or later (Debian-based) |
| Disk Space | 50 GB free (for blockchain data) |
| RAM | 4 GB |
| Internet | Stable broadband connection |
| Architecture | x86_64 (amd64) |
Download Binaries
Step 1: Download from GitHub
Visit the release pages:
Download the following files:
monetarium-node-linux-amd64monetarium-wallet-linux-amd64monetarium-ctl-linux-amd64
Step 2: Verify Downloads (Optional)
If SHA256 checksums are provided, verify your downloads:
Compare checksums on the releases page with downloaded files.
Installation
Step 1: Create Installation Directory
mkdir -p ~/monetarium
cd ~/monetarium
Step 2: Move Downloaded Binaries
Move the downloaded files to your installation directory:
mv ~/Downloads/monetarium-node-linux-* ~/monetarium/monetarium-node
mv ~/Downloads/monetarium-wallet-linux-* ~/monetarium/monetarium-wallet
mv ~/Downloads/monetarium-ctl-linux-* ~/monetarium/monetarium-ctl
Step 3: Make Binaries Executable
chmod +x ~/monetarium/monetarium-node
chmod +x ~/monetarium/monetarium-wallet
chmod +x ~/monetarium/monetarium-ctl
Step 4: Add to PATH (Optional)
To run commands from any directory, add to your shell profile:
echo 'export PATH="$HOME/monetarium:$PATH"' >> ~/.bashrc
source ~/.bashrc
For Zsh users, use ~/.zshrc instead.
Running the Node (monetarium-node)
The node (monetarium-node) connects to the Monetarium network and maintains a copy of the blockchain.
First Run
~/monetarium/monetarium-node --addpeer=176.113.164.216:9508
On first run, monetarium-node will:
- Create configuration directory at
~/.monetarium/ - Generate RPC credentials in
~/.monetarium/monetarium.conf - Create TLS certificates for secure RPC communication
- Begin syncing the blockchain
Configuration File
The main configuration file is located at ~/.monetarium/monetarium.conf. Key options:
; RPC credentials (auto-generated on first run)
rpcuser=your_rpc_user
rpcpass=your_rpc_password
; Add persistent peers
addpeer=176.113.164.216:9508
; External IP (if behind NAT, set your public IP)
; externalip=your.public.ip.address
Data Directories
| Path | Contents |
|---|---|
~/.monetarium/monetarium.conf |
Configuration file |
~/.monetarium/data/mainnet/ |
Blockchain database |
~/.monetarium/logs/mainnet/ |
Log files |
~/.monetarium/rpc.cert |
TLS certificate |
Running the Wallet (monetarium-wallet)
The wallet (monetarium-wallet) manages your VAR and SKA coins.
Prerequisites
- The node (
monetarium-node) must be running ```
Step 1: Create Wallet
~/monetarium/monetarium-wallet --create
You will be prompted to:
- Enter a private passphrase (encrypts your wallet - REMEMBER THIS!)
- Optionally enter a public passphrase (for watching-only access)
- Choose whether to add encryption for public data
- IMPORTANT: Write down your 33-word seed phrase and store it securely
WARNING: Your seed phrase is the ONLY way to recover your wallet. Store it offline in a secure location. Never share it with anyone.
Step 2: Start the Wallet
~/monetarium/monetarium-wallet
Configuration File
The wallet configuration is at ~/.monetarium-wallet/monetarium-wallet.conf:
; Connect to local node
rpcconnect=127.0.0.1:9509
; Use node's RPC credentials
username=your_rpc_user
password=your_rpc_password
Data Directories
| Path | Contents |
|---|---|
~/.monetarium-wallet/monetarium-wallet.conf |
Configuration file |
~/.monetarium-wallet/mainnet/wallet.db |
Wallet database |
~/.monetarium-wallet/logs/mainnet/ |
Log files |
Using monetarium-ctl
monetarium-ctl is the command-line interface for interacting with the node and wallet.
Basic Setup
Create a configuration file at ~/.monetarium-ctl/monetarium-ctl.conf:
mkdir -p ~/.monetarium-ctl
rpcuser=your_rpc_user
rpcpass=your_rpc_password
Node Commands
# Check node sync status
~/monetarium/monetarium-ctl getblockcount
# Get network info
~/monetarium/monetarium-ctl getnetworkinfo
# List connected peers
~/monetarium/monetarium-ctl getpeerinfo
# Get blockchain info
~/monetarium/monetarium-ctl getblockchaininfo
Wallet Commands
Add --wallet flag to interact with the wallet:
# Get wallet balance
~/monetarium/monetarium-ctl --wallet getbalance
# Generate new address
~/monetarium/monetarium-ctl --wallet getnewaddress
# List transactions
~/monetarium/monetarium-ctl --wallet listtransactions
# Send coins (unlocks wallet temporarily)
~/monetarium/monetarium-ctl --wallet sendtoaddress "MsAddress..." 1.0
Router/NAT/Firewall Configuration
To participate fully in the network and allow incoming connections, configure your firewall and router.
Required Ports
| Port | Protocol | Direction | Purpose |
|---|---|---|---|
| 9508 | TCP | Inbound + Outbound | P2P node communication |
| 9509 | TCP | Localhost only | Node RPC |
| 9510 | TCP | Localhost only | Wallet JSON-RPC |
| 9511 | TCP | Localhost only | Wallet gRPC |
Note: Only port 9508 needs to be opened for external access. RPC ports should remain localhost-only for security.
UFW Firewall Configuration (Ubuntu)
Check Firewall Status
sudo ufw status
Allow Monetarium P2P Port
sudo ufw allow 9508/tcp comment 'Monetarium P2P'
Enable Firewall (if not already enabled)
sudo ufw enable
Verify Rules
sudo ufw status numbered
iptables Configuration (Alternative)
If using iptables directly:
# Allow incoming connections on port 9508
sudo iptables -A INPUT -p tcp --dport 9508 -j ACCEPT
# Save rules (Ubuntu)
sudo netfilter-persistent save
Router Port Forwarding
Note: You may need to order a static IP from your ISP to allow incoming connections.
In most cases your global IP will point to your router, which will do the port forwarding to your node’s local IP.
Step 1: Find Your Local IP
ip addr show | grep "inet " | grep -v 127.0.0.1
Or:
hostname -I
Note the IP address (e.g., 192.168.1.100)
Step 2: Access Router Admin Panel
- Open browser and go to your router’s admin page (typically
192.168.1.1or192.168.0.1) - Log in with admin credentials
Step 3: Configure Port Forwarding
Navigate to Port Forwarding (may be under Advanced Settings, NAT, or Virtual Server):
| Setting | Value |
|---|---|
| Service Name | Monetarium |
| External Port | 9508 |
| Internal Port | 9508 |
| Protocol | TCP |
| Internal IP | Your machine’s IP (e.g., 192.168.1.100) |
Step 4: Set Static IP (Recommended)
To prevent your IP from changing:
- In router settings, find DHCP Reservation or Address Reservation
- Add your machine’s MAC address with a fixed IP
- Or configure a static IP using netplan (Ubuntu 18.04+):
Edit /etc/netplan/01-netcfg.yaml:
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
Apply changes:
sudo netplan apply
Step 5: Verify Port is Open
After configuration, verify the port is accessible:
# From another network or use online port checker
nc -zv your.public.ip 9508
Or use an online port checker at https://www.yougetsignal.com/tools/open-ports/
Running as Background Service
Use systemd to run Monetarium services automatically.
monetarium-node Service
Create the service file:
sudo tee /etc/systemd/system/monetarium-node.service << 'EOF'
[Unit]
Description=Monetarium Node
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=YOUR_USERNAME
ExecStart=/home/YOUR_USERNAME/monetarium/monetarium-node --addpeer=176.113.164.216:9508
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
Important: Replace YOUR_USERNAME with your actual Linux username:
sudo sed -i "s/YOUR_USERNAME/$USER/g" /etc/systemd/system/monetarium-node.service
monetarium-wallet Service
Create the wallet service (starts after node):
sudo tee /etc/systemd/system/monetarium-wallet.service << 'EOF'
[Unit]
Description=Monetarium Wallet
After=network-online.target monetarium-node.service
Wants=network-online.target
Requires=monetarium-node.service
[Service]
Type=simple
User=YOUR_USERNAME
ExecStart=/home/YOUR_USERNAME/monetarium/monetarium-wallet
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo sed -i "s/YOUR_USERNAME/$USER/g" /etc/systemd/system/monetarium-wallet.service
Important: When running the wallet as a service, it starts in a locked state and cannot sign transactions or vote on tickets. To enable full functionality, you must either:
- Add
pass=YourWalletPassphraseto~/.monetarium-wallet/monetarium-wallet.conf(see Staking & Ticket Auto-Purchase section), OR- Manually unlock the wallet after the service starts using:
~/monetarium/monetarium-ctl --wallet walletpassphrase "YourPassphrase" 0
Service Management
# Reload systemd configuration
sudo systemctl daemon-reload
# Enable services to start on boot
sudo systemctl enable monetarium-node
sudo systemctl enable monetarium-wallet
# Start node
sudo systemctl start monetarium-node
# Start wallet
sudo systemctl start monetarium-wallet
# Stop node
sudo systemctl stop monetarium-node
# Stop wallet
sudo systemctl stop monetarium-wallet
# Check status
sudo systemctl status monetarium-node
sudo systemctl status monetarium-wallet
# View logs
journalctl -u monetarium-node -f
journalctl -u monetarium-wallet -f
Disable Auto-Start
To prevent services from starting at boot:
sudo systemctl disable monetarium-node
sudo systemctl disable monetarium-wallet
Advanced Setup (Production)
For production deployments requiring enhanced security hardening (sandboxing, restricted capabilities, dedicated user), see the systemd service files in the source repository:
These service files include strict privilege restrictions and are designed for dedicated Monetarium server deployments.
Connecting to Seed Nodes
Since Monetarium does not use DNS seeds, you must manually connect to known peers.
Official Seed Node
176.113.164.216:9508
Connection Methods
Method 1: Command Line Flag
~/monetarium/monetarium-node --addpeer=176.113.164.216:9508
Method 2: Configuration File
Add to ~/.monetarium/monetarium.conf:
addpeer=176.113.164.216:9508
Method 3: Connect-Only Mode
To connect ONLY to specific peers (no other connections):
~/monetarium/monetarium-node --connect=176.113.164.216:9508
Adding Multiple Peers
; In monetarium.conf
addpeer=176.113.164.216:9508
addpeer=another.peer.ip:9508
Wallet Backup & Recovery
Backup Your Wallet
1. Seed Phrase (Most Important)
Your 33-word seed phrase was displayed during wallet creation. This is your primary backup.
- Write it down on paper
- Store in a secure, fireproof location
- Never store digitally or share with anyone
- Consider using a metal backup for fire/water resistance
2. Wallet File Backup
For convenience, also backup the wallet database:
# Stop wallet first
sudo systemctl stop monetarium-wallet
# Copy wallet file
cp ~/.monetarium-wallet/mainnet/wallet.db ~/backup/wallet.db.backup
# Restart wallet
sudo systemctl start monetarium-wallet
Recover From Seed Phrase
If you need to restore your wallet on a new machine:
# Create new wallet with existing seed
~/monetarium/monetarium-wallet --create
When prompted:
- Enter a new private passphrase
- Choose “yes” when asked to restore from seed
- Enter your 33-word seed phrase
- Enter the original wallet creation date (or skip to scan all blocks)
Recover From Wallet File
# Stop wallet if running
sudo systemctl stop monetarium-wallet
# Restore wallet file
cp ~/backup/wallet.db.backup ~/.monetarium-wallet/mainnet/wallet.db
# Start wallet
sudo systemctl start monetarium-wallet
CPU Mining Configuration
Monetarium uses CPU mining with the Blake3 algorithm. Here’s how to configure your node for mining.
Check Available CPU Cores
nproc
Or for detailed info:
lscpu | grep "^CPU(s):"
This shows the total number of CPU threads available.
Enable Mining in Configuration
Add these options to ~/.monetarium/monetarium.conf:
; Enable CPU mining
generate=1
; Mining address for block rewards (must be a VAR address starting with 'Ms')
miningaddr=MsYourAddressHere...
Mining Address
Generate a mining address from your wallet:
~/monetarium/monetarium-ctl --wallet getnewaddress
Copy the address (starts with Ms) and use it as your miningaddr.
Note: Mining rewards are paid in VAR coins. SKA coins cannot be mined.
Recommended Thread Settings
| CPU Threads | Recommended Mining Threads | Use Case |
|---|---|---|
| 4 | 2 | Light mining, daily use |
| 8 | 4 | Balanced mining |
| 16+ | 8-12 | Dedicated mining node |
Start Mining
After configuration, restart the node:
# If running as service
sudo systemctl restart monetarium-node
# Or manually
~/monetarium/monetarium-node --addpeer=176.113.164.216:9508
Control Mining Threads
Use setgenerate RPC command to enable mining and set thread count:
# Enable mining with 4 threads
~/monetarium/monetarium-ctl setgenerate true 4
# Enable mining with 1 thread (default)
~/monetarium/monetarium-ctl setgenerate true
# Disable mining
~/monetarium/monetarium-ctl setgenerate false
Monitor Mining
# Check if mining is active
~/monetarium/monetarium-ctl getmininginfo
# Check hashrate
~/monetarium/monetarium-ctl gethashespersec
Mining Tips
- Start conservative: Begin with fewer threads and increase if system remains responsive
- Monitor temperature: CPU mining generates heat; ensure adequate cooling (
sensorscommand if lm-sensors installed) - Block rewards: New blocks pay 64 VAR, split 50% to miners, 50% to stakers
- Block time: Average 5 minutes per block
Staking & Ticket Auto-Purchase
Staking allows you to earn rewards by participating in Monetarium’s proof-of-stake voting system. You purchase “tickets” that vote on blocks and earn staking rewards.
Prerequisites
- Synced node running
- Wallet with VAR balance (minimum ~2 VAR per ticket)
- Wallet passphrase configured for auto-unlock
Enable Staking in Wallet Configuration
Add these options to ~/.monetarium-wallet/monetarium-wallet.conf:
; Enable automatic voting on tickets
enablevoting=1
; Enable automatic ticket purchasing
enableticketbuyer=1
; Maximum number of tickets to maintain
; Adjust based on your VAR balance
ticketbuyer.limit=20
; Minimum balance to maintain (don't spend below this)
; Keeps reserve for fees and emergencies
ticketbuyer.balancetomaintainabsolute=1
; Gap limit for address discovery
gaplimit=20
accountgaplimit=10
Wallet Passphrase for Auto-Unlock
For automated staking, the wallet needs to unlock automatically. Add to ~/.monetarium-wallet/monetarium-wallet.conf:
; WARNING: Reduces security - only use on dedicated staking machines
; Private passphrase for automatic wallet unlock
pass=YourWalletPassphrase
Security Warning: Storing the passphrase in config reduces security. Only use this on dedicated staking machines or wallets with limited balances.
Staking Workflow
Step 1: Generate Staking Address
On your staking wallet:
~/monetarium/monetarium-ctl --wallet getnewaddress
Save this address (e.g., MsStakingAddress...)
Step 2: Send VAR from Mining Node
If mining on a separate machine, send VAR to your staking wallet:
# On mining node's wallet
~/monetarium/monetarium-ctl --wallet sendtoaddress "MsStakingAddress..." 100
Step 3: Start Staking Wallet
~/monetarium/monetarium-wallet
The wallet will automatically:
- Monitor your balance
- Purchase tickets when funds are available
- Vote on blocks when tickets are selected
- Receive staking rewards
Monitor Staking
# Check ticket status
~/monetarium/monetarium-ctl --wallet getstakeinfo
# List your tickets
~/monetarium/monetarium-ctl --wallet gettickets true
# Check voting status
~/monetarium/monetarium-ctl --wallet walletinfo
Staking Parameters
| Parameter | Mainnet Value |
|---|---|
| Minimum ticket price | ~2 VAR |
| Ticket pool size | 8,192 tickets |
| Tickets per block | 5 |
| Ticket maturity | 256 blocks |
| Ticket expiry | 40,960 blocks (~142 days) |
| Vote reward | 50% of block reward |
Practical Tips
- Start small: Buy a few tickets first to understand the process
- Monitor regularly: Check
getstakeinfoto ensure voting is working - Keep balance: Always maintain some VAR for fees
- Ticket timing: Tickets take 256 blocks to mature before they can vote
- Patience: Tickets may take time to be selected for voting (random selection)
Separate Mining and Staking
For security, consider running separate wallets:
| Role | Wallet | Purpose |
|---|---|---|
| Mining | Hot wallet on mining node or Offline wallet (if not staking) | Receives block rewards |
| Staking | Dedicated staking wallet | Purchases tickets, votes |
| Cold storage | Offline wallet | Long-term savings |
Transfer VAR periodically from mining to staking wallet to fund ticket purchases.
Verification & Troubleshooting
Verify Node is Running
# Check if process is running
pgrep -l monetarium-node
# Check sync status
~/monetarium/monetarium-ctl getblockcount
# Compare with network (ask peers)
~/monetarium/monetarium-ctl getblockchaininfo
Verify Peer Connections
# List connected peers
~/monetarium/monetarium-ctl getpeerinfo
# Check connection count
~/monetarium/monetarium-ctl getconnectioncount
Verify Wallet Connection
# Check wallet is connected to node
~/monetarium/monetarium-ctl --wallet getinfo
# Check balance
~/monetarium/monetarium-ctl --wallet getbalance
Common Issues
“Connection refused” when using monetarium-ctl
Cause: monetarium-node is not running or RPC is misconfigured.
Solution:
# Check if node is running
pgrep monetarium-node
# Verify RPC credentials match in:
# ~/.monetarium/monetarium.conf
# ~/.monetarium-ctl/monetarium-ctl.conf
Wallet won’t start - “unable to open database”
Cause: Wallet database is corrupted or wallet is already running.
Solution:
# Check if already running
pgrep monetarium-wallet
# Kill existing process
pkill monetarium-wallet
# Try again
~/monetarium/monetarium-wallet
No peers connecting
Cause: Firewall blocking connections or no seed nodes configured.
Solution:
# Ensure seed node is configured
~/monetarium/monetarium-node --addpeer=176.113.164.216:9508
# Check firewall
sudo ufw status
Sync is very slow
Cause: Limited peer connections or network issues.
Solution:
- Ensure port 9508 is forwarded in your router
- Add more peers if available
- Check internet connection stability
Log File Locations
| Service | Log Path |
|---|---|
| monetarium-node | ~/.monetarium/logs/mainnet/monetarium.log |
| monetarium-wallet | ~/.monetarium-wallet/logs/mainnet/monetarium-wallet.log |
| systemd (node) | journalctl -u monetarium-node |
| systemd (wallet) | journalctl -u monetarium-wallet |
View Logs
# View node log (last 100 lines)
tail -100 ~/.monetarium/logs/mainnet/monetarium.log
# Follow node log in real-time
tail -f ~/.monetarium/logs/mainnet/monetarium.log
# View wallet log
tail -f ~/.monetarium-wallet/logs/mainnet/monetarium-wallet.log
# View systemd logs in real-time
journalctl -u monetarium-node -f
journalctl -u monetarium-wallet -f
Quick Reference
Essential Commands
# Start node
~/monetarium/monetarium-node --addpeer=176.113.164.216:9508
# Start wallet
~/monetarium/monetarium-wallet
# Check balance
~/monetarium/monetarium-ctl --wallet getbalance
# Get new address
~/monetarium/monetarium-ctl --wallet getnewaddress
# Check sync status
~/monetarium/monetarium-ctl getblockcount
# List peers
~/monetarium/monetarium-ctl getpeerinfo
Mining Commands
# Check mining status
~/monetarium/monetarium-ctl getmininginfo
# Check hashrate
~/monetarium/monetarium-ctl gethashespersec
# Check available CPU threads
nproc
Staking Commands
# Check stake info
~/monetarium/monetarium-ctl --wallet getstakeinfo
# List tickets
~/monetarium/monetarium-ctl --wallet gettickets true
# Check wallet info
~/monetarium/monetarium-ctl --wallet walletinfo
Service Commands
# Start services
sudo systemctl start monetarium-node
sudo systemctl start monetarium-wallet
# Stop services
sudo systemctl stop monetarium-node
sudo systemctl stop monetarium-wallet
# Restart services
sudo systemctl restart monetarium-node
sudo systemctl restart monetarium-wallet
# Check status
sudo systemctl status monetarium-node
sudo systemctl status monetarium-wallet
# Enable auto-start on boot
sudo systemctl enable monetarium-node
sudo systemctl enable monetarium-wallet
# View logs
journalctl -u monetarium-node -f
journalctl -u monetarium-wallet -f
Default Ports
| Port | Service |
|---|---|
| 9508 | P2P Network |
| 9509 | Node RPC |
| 9510 | Wallet JSON-RPC |
| 9511 | Wallet gRPC |
Important Paths
| Path | Description |
|---|---|
~/monetarium/ |
Binary installation |
~/.monetarium/ |
Node data & config |
~/.monetarium-wallet/ |
Wallet data & config |
~/.monetarium-ctl/ |
CLI config |
Support
For additional help:
- GitHub Issues: https://github.com/monetarium/issues
- Community Discord: [Link TBD]