High-performance OpenCL GPU miner for Bitcoin-PoW (BTCW). Works with both NVIDIA and AMD GPUs on Windows and Linux.
The miner will be fully open-sourced in the coming days. Sign up to be notified when the source code drops and new releases are available.
6 miners have signed up!
š¢
NVIDIA
CUDA OpenCL runtime
Fully Supportedš¢
AMD
ROCm / AMDGPU-PRO OpenCL
Fully SupportedThis miner uses OpenCL, the cross-platform GPU compute standard. Unlike CUDA-only miners, it runs on any GPU that provides an OpenCL driver.
1. Download the latest release
Grab the binary from the GitHub Releases page (coming soon).
2. Start your BTCW node
bitcoin-pow-qt.exe
3. Create a UTXO
Open Window ā Console in the node and type:
generate
4. Start the miner
Wait for the node to begin mining, then:
cd x64\Release BTCW_OPENCL_MINER.exe 1
The 1 selects GPU device #1. Use 2, 3, etc. for additional GPUs.
Run one instance per GPU in separate terminals:
BTCW_OPENCL_MINER.exe 1 BTCW_OPENCL_MINER.exe 2 BTCW_OPENCL_MINER.exe 3
BTCW.SPACE OpenCL GPU Miner v26.5.4 Hash found - NONCE: 0707070707070707 Hash no sig low64: 6bfb0091a42a80d9 CONNECTED TO BTCW NODE WALLET ================================= Device: NVIDIA GeForce RTX 4080 SUPER --------------------------------- Hashrate: 18415616.000000 H/s Power: 245 W | Temp: 62 C | Fan: 55% =================================
Hash no sig low64: 0000000000000000 !!! NOT CONNECTED TO BTCW NODE !!! Make sure your wallet has at least 1 utxo.
Prerequisites: Visual Studio 2022 Build Tools, OpenCL SDK (CUDA Toolkit / AMD APP SDK), PDCurses
Build PDCurses first:
git clone https://github.com/wmcbrine/PDCurses.git C:\PDCurses cd C:\PDCurses\wincon nmake -f Makefile.vc clean nmake -f Makefile.vc
Build the miner:
Open an x64 Native Tools Command Prompt for VS 2022, then:
cd path\to\opencl-btcw-miner build.bat
Edit build.bat to adjust CUDA_PATH and PDCURSES_PATH for your system.
Prerequisites:
sudo apt install build-essential ocl-icd-opencl-dev
For NVIDIA:
sudo apt install nvidia-driver-560-server nvidia-opencl-icd
For AMD: Install ROCm or AMDGPU-PRO driver with OpenCL support.
Build & Run:
chmod +x build_linux.sh ./build_linux.sh cd release ./btcw_opencl_miner 1
BTCW_OPENCL_MINER.exe <gpu_number> [work_size]
| Argument | Description |
|---|---|
| gpu_number | 1-based GPU index (required) |
| work_size | Manual global work size override (optional, auto-tuned by default) |
opencl-btcw-miner/
āāā opencl_miner.cpp # Windows host code (PDCurses UI)
āāā opencl_miner_linux.cpp # Linux host code (headless stdout)
āāā mining_kernel.cl # Main OpenCL mining kernel
āāā kernels/
ā āāā secp256k1_field.cl # secp256k1 field arithmetic
ā āāā secp256k1_point.cl # secp256k1 point operations
āāā ecmult_gen_table.bin # Pre-computed EC multiplication table
āāā extract_table.py # Table generation utility
āāā build.bat # Windows build script
āāā build_linux.sh # Linux build script
āāā x64/Release/ # Pre-built Windows binary
āāā BTCW_OPENCL_MINER.exe
āāā kernels/Do NOT start the miner before the node has begun mining. Run generate in the node console first.
Only run one BTCW node per machine when using this miner. Multiple nodes sharing the same shared memory will cause nonce conflicts.
The miner communicates with the node via shared memory (IPC). The node must be running on the same machine.
Kernel files (.cl) are compiled by the OpenCL runtime on first launch and cached in kernel_cache.bin. Delete the cache if you update kernel files.