- 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>
3.4 KiB
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:
Starting Multiple Miners
- Go to Workers page
- Select a profile from the dropdown
- Click Start
- 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
- Don't oversubscribe resources - Leave some CPU/GPU headroom
- Use different pools - Spread risk across multiple pools
- Monitor temperatures - Watch for thermal throttling
- Name profiles clearly - "GPU0-ETH", "CPU-XMR", etc.
