Complete rebranding of all components: - Core miner: xmrig -> miner (binary, version.h, CMakeLists.txt) - Proxy: xmrig-proxy -> miner-proxy - CUDA plugin: xmrig-cuda -> miner-cuda - Heatmap: xmrig-nonces-heatmap -> miner-nonces-heatmap - Go CLI wrapper: miner-cli -> miner-ctrl Vendored XMRig ecosystem into miner/ directory: - miner/core - XMRig CPU/GPU miner - miner/proxy - Stratum proxy - miner/cuda - NVIDIA CUDA plugin - miner/heatmap - Nonce visualization tool - miner/config - Configuration UI - miner/deps - Pre-built dependencies Updated dev fee to use project wallet with opt-out (kMinimumDonateLevel=0) Updated branding to Lethean (domain, copyright, version 0.1.0) 🤖 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
Configuration
The Mining Dashboard uses XDG base directories for configuration and data storage.
Directory Structure
~/.config/lethean-desktop/
├── miners.json # Autostart and general settings
├── mining_profiles.json # Saved mining profiles
├── node.json # P2P node identity
└── peers.json # P2P peer registry
~/.local/share/lethean-desktop/
├── miners/ # Installed miner binaries
│ ├── xmrig/
│ │ └── xmrig-6.25.0/
│ └── tt-miner/
├── mining.db # SQLite hashrate history
└── node/
└── private.key # P2P private key
miners.json
Controls autostart and database settings:
{
"miners": [
{
"minerType": "xmrig",
"autostart": true,
"config": {
"pool": "pool.supportxmr.com:3333",
"wallet": "4xxx...",
"tls": true
}
}
],
"database": {
"enabled": true,
"retentionDays": 30
}
}
Options
| Field | Type | Default | Description |
|---|---|---|---|
miners[].minerType |
string | - | Miner type (xmrig, tt-miner) |
miners[].autostart |
bool | false | Start on server launch |
miners[].config |
object | - | Miner configuration |
database.enabled |
bool | true | Enable SQLite persistence |
database.retentionDays |
int | 30 | Days to keep history |
mining_profiles.json
Stores saved mining profiles:
[
{
"id": "abc123",
"name": "My XMR Pool",
"minerType": "xmrig",
"config": {
"pool": "pool.supportxmr.com:3333",
"wallet": "4xxx...",
"tls": true,
"hugePages": true,
"threads": 0
}
}
]
Profile Config Options
| Field | Type | Default | Description |
|---|---|---|---|
pool |
string | - | Pool address (host:port) |
wallet |
string | - | Wallet address |
password |
string | "x" | Pool password |
tls |
bool | false | Enable TLS encryption |
hugePages |
bool | true | Enable huge pages (Linux) |
threads |
int | 0 | CPU threads (0=auto) |
devices |
string | "" | GPU devices (tt-miner) |
algo |
string | "" | Algorithm override |
intensity |
int | 0 | Mining intensity (GPU) |
cliArgs |
string | "" | Extra CLI arguments |
Environment Variables
| Variable | Default | Description |
|---|---|---|
MINING_API_PORT |
9090 | REST API port |
MINING_P2P_PORT |
9091 | P2P WebSocket port |
XDG_CONFIG_HOME |
~/.config | Config directory |
XDG_DATA_HOME |
~/.local/share | Data directory |
Command Line Flags
./miner-ctrl serve --help
Flags:
-p, --port int API port (default 9090)
-n, --namespace API namespace (default /api/v1/mining)
--no-autostart Disable autostart
Database Settings
The SQLite database stores hashrate history for graphing:
- Location:
~/.local/share/lethean-desktop/mining.db - Default retention: 30 days
- Polling interval: 10 seconds (high-res), 1 minute (low-res)
To disable database persistence:
{
"database": {
"enabled": false
}
}
Node Identity (P2P)
The P2P node identity is auto-generated on first run:
# Initialize with custom name
./miner-ctrl node init --name "my-rig" --role worker
See P2P Multi-Node for more details.