Run a QuantumHarmony node with one command using Docker.
Install Docker:
- Mac: Docker Desktop for Mac
- Windows: Docker Desktop for Windows
- Linux:
curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER # Log out and back in
Verify installation:
docker --version
docker-compose --version| Resource | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB | 16 GB |
| Swap | 4 GB | 4-8 GB |
| Disk | 20 GB SSD | 50 GB SSD |
| CPU | 2 cores | 4 cores |
| Network | 10 Mbps | 100 Mbps |
Notes:
- SSD strongly recommended for sync performance
- Swap space helps prevent OOM crashes during sync
- Chain data grows over time (~10GB currently)
- Higher bandwidth speeds up initial sync
# Clone the repo
git clone https://github.com/Paraxiom/quantum-harmony-node.git
cd quantum-harmony-node
# Run setup (installs QSSH, generates keys)
./setup.sh
# Start with one command
./start.shOr manually:
docker-compose up -d
docker-compose logs -f nodeOpen http://localhost:8080 for the operator dashboard.
┌─────────────────────────────────────────────────────────┐
│ NODE OPERATOR STACK │
├─────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────┐ ┌──────────────────────────┐ │
│ │ QuantumHarmony │ │ LCARS Dashboard │ │
│ │ Node │ │ (port 8080) │ │
│ │ (port 9944) │ └──────────────────────────┘ │
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────────────────────────────────────┐ │
│ │ Nginx Reverse Proxy │ │
│ │ (ports 80, 443) │ │
│ └──────────────────────────────────────────────────┘ │
│ │
├─────────────────────────────────────────────────────────┤
│ SPHINCS+-256s POST-QUANTUM SECURED │
└─────────────────────────────────────────────────────────┘
| Service | Port | Description |
|---|---|---|
| node | 9944 | RPC/WebSocket endpoint |
| node | 30333 | P2P networking |
| node | 9615 | Prometheus metrics |
| dashboard | 8080 | Operator web UI |
| nginx | 80/443 | Reverse proxy |
- Status: Block height, peers, sync status
- Transfer: Send QMHY tokens
- Faucet: Request test tokens
- Keys: Validator key management
- Quantum: Post-quantum security status
- Network: Peer connections and topology
- Quests: Gamified onboarding (Devonomics)
Earn QMHY tokens by completing quests. Your node is your character.
| Quest | Action | Reward |
|---|---|---|
| Genesis | Node syncs to network | 100 QMHY |
| Identity | Generate session keys | 50 QMHY |
| Registered | Create account | 25 QMHY |
| Connected | 3+ peers connected | 50 QMHY |
| Voice | Post to validator chat | 25 QMHY |
| Producer | Author first block | 200 QMHY |
| Quantum | Use QRNG entropy | 100 QMHY |
Tiers:
- Bronze: 0-249 QMHY
- Silver: 250-549 QMHY
- Gold: 550-999 QMHY
- Platinum: 1000+ QMHY
See DEVONOMICS.md for full details.
Create a .env file:
NODE_NAME=MyNodeReplace configs/chain-spec.json with your chain spec.
Production Testnet Bootnodes:
- Alice:
51.79.26.123 - Bob:
51.79.26.168 - Charlie:
209.38.225.4
Ports Required:
30333- P2P (must be open for peers)9944- RPC (optional, for external access)
# Start all services
./start.sh
# or: docker-compose up -d
# Stop all services
docker-compose down
# View node logs
docker-compose logs -f node
# Restart node only
docker-compose restart node
# Check status
docker-compose psFollow these steps to join the network as a validator:
git clone https://github.com/Paraxiom/quantum-harmony-node.git
cd quantum-harmony-node
docker-compose up -dWait for sync to complete (check dashboard at http://localhost:8080 - STATUS tab shows sync progress).
- Open http://localhost:8080
- Go to KEYS section
- Click CREATE ACCOUNT
- SAVE YOUR MNEMONIC - it will only be shown once!
- Your address appears in the header
- Go to FAUCET section
- Click to request QMHY tokens
- Wait for confirmation
- Go to KEYS section
- Click GENERATE NEW KEY
- Copy the session keys (public key)
Run this command:
curl -s localhost:9944 -H "Content-Type: application/json" \
-d '{"id":1,"jsonrpc":"2.0","method":"system_localPeerId"}' | jq -r .resultSend to the network admin:
- Your account address
- Your peer ID
- Your session keys (public key)
They will register you in the validator set.
Once registered, your node will start producing blocks. Check:
- STATUS tab shows "Validator" role
- NETWORK tab shows your node in the mesh
QSSH is required for post-quantum security. Without QSSH, connections use classical cryptography vulnerable to quantum attacks.
git clone https://github.com/Paraxiom/qssh.git
cd qssh
cargo build --release
cargo install --path .qssh-keygen -t falcon -f ~/.qssh/operator_falcon
qssh-keygen -t sphincs -f ~/.qssh/operator_sphincs# Create quantum-secure tunnel
qssh -L 9944:localhost:9944 operator@your-validator.cloud:42
# In another terminal, start dashboard
./start.sh ui
# Enter "localhost:9944" in the dashboard endpoint field| Component | Algorithm | Protection |
|---|---|---|
| Key Exchange | Falcon-512 | Post-quantum |
| Signatures | SPHINCS+-256f | Hash-based |
| Encryption | AES-256-GCM | Symmetric |
Traditional SSH (RSA/ECDSA) is vulnerable to quantum attacks. QSSH protects your validator connections today against future quantum computers.
See docs/QSSH_OPERATOR_GUIDE.md for complete instructions.
To completely remove all containers, images, and data:
# Stop and remove containers
docker-compose down
# Remove the Docker image (to force fresh pull)
docker rmi sylvaincormier/quantumharmony-node:latest
# Remove all data (WARNING: deletes chain data!)
docker volume rm quantum-harmony-node_node-data
# Full reset - remove everything
docker-compose down -v --rmi allApache-2.0