Mining/site-docs/features/multi-miner.md
snider 3057701ac1 feat: Add SQLite persistence, enhanced dashboard UI, and comprehensive E2E tests
- Add SQLite database package for hashrate history persistence with configurable retention
- Enhance dashboard with responsive stats bar, improved chart component, and worker selector
- Add terminal modal component for console output viewing
- Implement comprehensive E2E test suite with page objects pattern
- Add history API endpoints for historical data queries
- Update worker message handling with proper registration
- Add new UI pages structure with layouts and components
- Update Docker configuration for Go 1.24
- Add PostCSS configuration for Tailwind CSS processing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 00:03:30 +00:00

3.4 KiB

Multi-Miner Support

The Mining Dashboard supports running multiple miners simultaneously with unified monitoring.

Supported Miners

XMRig (CPU Mining)

Feature Details
Type CPU miner
Algorithms RandomX, CryptoNight, AstroBWT
Coins Monero (XMR), Loki, Arweave, etc.
API HTTP JSON API
Download Automatic from GitHub releases

TT-Miner (GPU Mining)

Feature Details
Type NVIDIA GPU miner
Algorithms Ethash, KawPow, ProgPow, ZelHash
Coins Various PoW coins
API HTTP JSON API
Requirements NVIDIA CUDA GPU

Running Multiple Instances

You can run multiple miners of the same or different types:

┌─────────────────────────────────────────┐
│           Mining Dashboard              │
├─────────────────────────────────────────┤
│  xmrig-456    │  12.5 kH/s  │ Running  │
│  xmrig-789    │  11.8 kH/s  │ Running  │
│  tt-miner-123 │  45.2 MH/s  │ Running  │
└─────────────────────────────────────────┘

Unique Instance Names

Each miner gets a unique name based on:

  • Miner type (xmrig, tt-miner)
  • Unique suffix (timestamp or random)

Example: xmrig-1704067200

Separate Configurations

Each instance can have:

  • Different pool
  • Different wallet
  • Different resource allocation

Workers Page

The Workers page shows all running miners:

Workers

Starting Multiple Miners

  1. Go to Workers page
  2. Select a profile from the dropdown
  3. Click Start
  4. Repeat with different profiles

Managing Workers

Each worker card shows:

  • Name - Instance name
  • Hashrate - Current mining speed
  • Status - Running/Stopped
  • Stop button - Terminate the miner

Resource Allocation

CPU Miners (XMRig)

Control CPU usage via profile settings:

{
  "threads": 4,  // Use 4 threads
  "hugePages": true
}

Run multiple instances with different thread counts:

  • Instance 1: 4 threads
  • Instance 2: 2 threads

GPU Miners (TT-Miner)

Control GPU selection via profile settings:

{
  "devices": "0,1"  // Use GPU 0 and 1
}

Run multiple instances on different GPUs:

  • Instance 1: GPU 0
  • Instance 2: GPU 1,2

Aggregated Statistics

The dashboard shows combined stats:

Stat Calculation
Total Hashrate Sum of all miners
Total Shares Sum of all accepted shares
Total Rejected Sum of all rejected shares
Efficiency (Total - Rejected) / Total

API Access

List All Miners

curl http://localhost:9090/api/v1/mining/miners

Start a New Instance

curl -X POST http://localhost:9090/api/v1/mining/profiles/{id}/start

Stop a Specific Instance

curl -X DELETE http://localhost:9090/api/v1/mining/miners/xmrig-456

Best Practices

  1. Don't oversubscribe resources - Leave some CPU/GPU headroom
  2. Use different pools - Spread risk across multiple pools
  3. Monitor temperatures - Watch for thermal throttling
  4. Name profiles clearly - "GPU0-ETH", "CPU-XMR", etc.