2026-01-13 16:45:44 +00:00
|
|
|
# Miner
|
2025-12-30 19:43:02 +00:00
|
|
|
|
2026-01-13 16:45:44 +00:00
|
|
|
High-performance, cross-platform CPU/GPU cryptocurrency miner supporting RandomX, KawPow, CryptoNight, GhostRider, ETChash, ProgPowZ, and Blake3 algorithms.
|
2025-12-30 19:43:02 +00:00
|
|
|
|
2026-01-13 16:45:44 +00:00
|
|
|
## Features
|
2025-12-30 19:43:02 +00:00
|
|
|
|
2026-01-13 16:45:44 +00:00
|
|
|
### Mining Backends
|
2025-12-30 19:43:02 +00:00
|
|
|
- **CPU** (x86/x64/ARMv7/ARMv8/RISC-V)
|
2026-01-13 16:45:44 +00:00
|
|
|
- **OpenCL** for AMD GPUs
|
|
|
|
|
- **CUDA** for NVIDIA GPUs via external [CUDA plugin](../cuda/)
|
2025-12-30 19:43:02 +00:00
|
|
|
|
2026-01-13 16:45:44 +00:00
|
|
|
### Supported Algorithms
|
2025-12-30 19:43:02 +00:00
|
|
|
|
2026-01-13 16:45:44 +00:00
|
|
|
| Algorithm | Variants | CPU | GPU |
|
|
|
|
|
|-----------|----------|-----|-----|
|
|
|
|
|
| RandomX | rx/0, rx/wow, rx/arq, rx/graft, rx/sfx, rx/keva | Yes | Yes |
|
|
|
|
|
| CryptoNight | cn/0-2, cn-lite, cn-heavy, cn-pico | Yes | Yes |
|
|
|
|
|
| GhostRider | gr | Yes | No |
|
|
|
|
|
| Argon2 | chukwa, chukwa2, ninja | Yes | No |
|
|
|
|
|
| KawPow | kawpow | No | Yes |
|
|
|
|
|
| ETChash | etchash, ethash | No | Yes |
|
|
|
|
|
| ProgPowZ | progpowz | No | Yes |
|
|
|
|
|
| Blake3 | blake3 | Yes | Yes |
|
2025-12-30 19:43:02 +00:00
|
|
|
|
2026-01-13 16:45:44 +00:00
|
|
|
## Quick Start
|
2025-12-30 19:43:02 +00:00
|
|
|
|
2026-01-13 16:45:44 +00:00
|
|
|
### Download
|
2025-12-30 19:43:02 +00:00
|
|
|
|
2026-01-13 16:45:44 +00:00
|
|
|
Pre-built binaries are available from [Releases](https://github.com/letheanVPN/Mining/releases).
|
2025-12-30 19:43:02 +00:00
|
|
|
|
2026-01-13 16:45:44 +00:00
|
|
|
### Usage
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# Basic CPU mining to a pool
|
|
|
|
|
./miner -o pool.example.com:3333 -u YOUR_WALLET -p x
|
|
|
|
|
|
|
|
|
|
# With JSON config (recommended)
|
|
|
|
|
./miner -c config.json
|
|
|
|
|
|
|
|
|
|
# Enable GPU mining
|
|
|
|
|
./miner -c config.json --opencl --cuda
|
|
|
|
|
|
|
|
|
|
# Benchmark mode
|
|
|
|
|
./miner --bench=1M
|
|
|
|
|
|
|
|
|
|
# Show all options
|
|
|
|
|
./miner --help
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Configuration
|
|
|
|
|
|
|
|
|
|
The recommended way to configure the miner is via JSON config file:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"autosave": true,
|
|
|
|
|
"cpu": true,
|
|
|
|
|
"opencl": false,
|
|
|
|
|
"cuda": false,
|
|
|
|
|
"pools": [
|
|
|
|
|
{
|
|
|
|
|
"url": "stratum+tcp://pool.example.com:3333",
|
|
|
|
|
"user": "YOUR_WALLET",
|
|
|
|
|
"pass": "x",
|
|
|
|
|
"keepalive": true
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Building from Source
|
|
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
|
|
|
|
**Linux (Ubuntu/Debian):**
|
|
|
|
|
```bash
|
|
|
|
|
sudo apt-get install git build-essential cmake libuv1-dev libssl-dev libhwloc-dev
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Linux (Fedora/RHEL):**
|
|
|
|
|
```bash
|
|
|
|
|
sudo dnf install git cmake gcc gcc-c++ libuv-devel openssl-devel hwloc-devel
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**macOS:**
|
|
|
|
|
```bash
|
|
|
|
|
brew install cmake libuv openssl hwloc
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Windows:**
|
|
|
|
|
- Visual Studio 2019 or later
|
|
|
|
|
- CMake 3.10+
|
|
|
|
|
- vcpkg for dependencies
|
|
|
|
|
|
|
|
|
|
### Build Commands
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
|
|
|
|
|
# Standard build
|
|
|
|
|
cmake ..
|
|
|
|
|
cmake --build . --config Release
|
|
|
|
|
|
|
|
|
|
# With GPU support
|
|
|
|
|
cmake .. -DWITH_OPENCL=ON -DWITH_CUDA=ON
|
|
|
|
|
|
|
|
|
|
# Static binary
|
|
|
|
|
cmake .. -DBUILD_STATIC=ON
|
|
|
|
|
|
|
|
|
|
# Debug build
|
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWITH_DEBUG_LOG=ON
|
|
|
|
|
|
|
|
|
|
# Minimal build (reduce binary size)
|
|
|
|
|
cmake .. -DWITH_KAWPOW=OFF -DWITH_GHOSTRIDER=OFF -DWITH_ARGON2=OFF
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### CMake Options
|
|
|
|
|
|
|
|
|
|
| Option | Default | Description |
|
|
|
|
|
|--------|---------|-------------|
|
|
|
|
|
| `WITH_HWLOC` | ON | Hardware topology support |
|
|
|
|
|
| `WITH_RANDOMX` | ON | RandomX algorithms |
|
|
|
|
|
| `WITH_ARGON2` | ON | Argon2 algorithms |
|
|
|
|
|
| `WITH_KAWPOW` | ON | KawPow (GPU only) |
|
|
|
|
|
| `WITH_ETCHASH` | ON | ETChash/Ethash (GPU only) |
|
|
|
|
|
| `WITH_PROGPOWZ` | ON | ProgPowZ (GPU only) |
|
|
|
|
|
| `WITH_BLAKE3DCR` | ON | Blake3 for Decred |
|
|
|
|
|
| `WITH_GHOSTRIDER` | ON | GhostRider algorithm |
|
|
|
|
|
| `WITH_OPENCL` | ON | AMD GPU support |
|
|
|
|
|
| `WITH_CUDA` | ON | NVIDIA GPU support |
|
|
|
|
|
| `WITH_HTTP` | ON | HTTP API |
|
|
|
|
|
| `WITH_TLS` | ON | SSL/TLS support |
|
|
|
|
|
| `WITH_ASM` | ON | Assembly optimizations |
|
|
|
|
|
| `WITH_MSR` | ON | MSR mod for CPU tuning |
|
|
|
|
|
| `BUILD_STATIC` | OFF | Static binary |
|
|
|
|
|
| `BUILD_TESTS` | OFF | Build unit tests |
|
|
|
|
|
|
|
|
|
|
## HTTP API
|
|
|
|
|
|
|
|
|
|
When built with `-DWITH_HTTP=ON`, the miner exposes a REST API:
|
|
|
|
|
|
|
|
|
|
| Endpoint | Method | Description |
|
|
|
|
|
|----------|--------|-------------|
|
|
|
|
|
| `/1/summary` | GET | Mining statistics |
|
|
|
|
|
| `/1/threads` | GET | Per-thread details |
|
|
|
|
|
| `/1/config` | GET | Current configuration |
|
|
|
|
|
| `/1/config` | PUT | Update configuration |
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
```bash
|
|
|
|
|
curl http://127.0.0.1:8080/1/summary
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Performance Optimization
|
|
|
|
|
|
|
|
|
|
### Huge Pages (Linux)
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# Temporary
|
|
|
|
|
sudo sysctl -w vm.nr_hugepages=1280
|
|
|
|
|
|
|
|
|
|
# Permanent
|
|
|
|
|
echo "vm.nr_hugepages=1280" | sudo tee -a /etc/sysctl.conf
|
|
|
|
|
|
|
|
|
|
# 1GB pages (best performance)
|
|
|
|
|
sudo ./scripts/enable_1gb_pages.sh
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### MSR Mod (Intel/AMD CPUs)
|
|
|
|
|
|
|
|
|
|
The miner can automatically apply MSR tweaks for better RandomX performance. Requires root/admin privileges.
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
sudo ./miner -c config.json
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Testing
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# Build with tests
|
|
|
|
|
cmake .. -DBUILD_TESTS=ON
|
|
|
|
|
cmake --build .
|
|
|
|
|
|
|
|
|
|
# Run tests
|
|
|
|
|
ctest --output-on-failure
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
|
Copyright (c) 2025 Lethean <https://lethean.io>
|
|
|
|
|
|
|
|
|
|
Licensed under the European Union Public License 1.2 (EUPL-1.2).
|