Mining/miner/core
snider bce309b78d docs: Add miner suite documentation and release workflow
- Create miner/README.md documenting standalone C++ mining tools
- Update miner/core and miner/proxy READMEs with EUPL-1.2 license
- Add GitHub Actions workflow for multi-platform miner releases
- Add Makefile targets: build-miner, build-miner-core, build-miner-proxy
- Update main README with standalone miner usage instructions

The miner/ directory contains standalone CPU/GPU miner and stratum
proxy that can be used independently without the GUI. Pre-built
binaries will be published alongside Go releases.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 16:46:46 +00:00
..
.github fix: Address multiple security issues and add unit tests for various components 2026-01-02 17:39:53 +00:00
cmake feat: Add Blake3DCR algorithm support (Decred) 2025-12-30 20:30:05 +00:00
doc feat: Rebrand xmrig to miner and vendor XMRig ecosystem 2025-12-30 19:43:02 +00:00
res feat: Rebrand xmrig to miner and vendor XMRig ecosystem 2025-12-30 19:43:02 +00:00
scripts feat: Rebrand xmrig to miner and vendor XMRig ecosystem 2025-12-30 19:43:02 +00:00
src fix: Address multiple security issues and add unit tests for various components 2026-01-02 17:39:53 +00:00
tests feat: Enhance testing framework with C++ test builds and GitHub Actions integration 2026-01-02 18:05:56 +00:00
.gitignore feat: Rebrand xmrig to miner and vendor XMRig ecosystem 2025-12-30 19:43:02 +00:00
CHANGELOG.md feat: Rebrand xmrig to miner and vendor XMRig ecosystem 2025-12-30 19:43:02 +00:00
CLAUDE.md fix: Update documentation for miner-cuda plugin and improve build instructions 2025-12-31 01:53:53 +00:00
CMakeLists.txt fix: Address multiple security issues and add unit tests for various components 2026-01-02 17:39:53 +00:00
CODE_REVIEW_FINDINGS.md fix: Address multiple security issues and add unit tests for various components 2026-01-02 17:39:53 +00:00
CODE_REVIEW_TODO.md fix: Address 22 security findings from parallel code review (Pass 2) 2025-12-31 19:28:22 +00:00
LICENSE feat: Rebrand xmrig to miner and vendor XMRig ecosystem 2025-12-30 19:43:02 +00:00
package.json feat: Rebrand xmrig to miner and vendor XMRig ecosystem 2025-12-30 19:43:02 +00:00
PARALLEL_CODE_REVIEW.md feat: Add security and resilience middleware 2025-12-31 15:54:37 +00:00
README.md docs: Add miner suite documentation and release workflow 2026-01-13 16:46:46 +00:00
README_TESTING.md fix: Address multiple security issues and add unit tests for various components 2026-01-02 17:39:53 +00:00
TODO.md feat: Add security and resilience middleware 2025-12-31 15:54:37 +00:00

Miner

High-performance, cross-platform CPU/GPU cryptocurrency miner supporting RandomX, KawPow, CryptoNight, GhostRider, ETChash, ProgPowZ, and Blake3 algorithms.

Features

Mining Backends

  • CPU (x86/x64/ARMv7/ARMv8/RISC-V)
  • OpenCL for AMD GPUs
  • CUDA for NVIDIA GPUs via external CUDA plugin

Supported Algorithms

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

Quick Start

Download

Pre-built binaries are available from Releases.

Usage

# 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:

{
    "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):

sudo apt-get install git build-essential cmake libuv1-dev libssl-dev libhwloc-dev

Linux (Fedora/RHEL):

sudo dnf install git cmake gcc gcc-c++ libuv-devel openssl-devel hwloc-devel

macOS:

brew install cmake libuv openssl hwloc

Windows:

  • Visual Studio 2019 or later
  • CMake 3.10+
  • vcpkg for dependencies

Build Commands

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:

curl http://127.0.0.1:8080/1/summary

Performance Optimization

Huge Pages (Linux)

# 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.

sudo ./miner -c config.json

Testing

# 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).