Топ майнинг ПО
BzMiner v100.40
Release v100.40 of bzminer
All feedback is welcome ;)
- Big Nvidia & AMD pearl optimizations
- Further randomx optimizations
Mines Tari, Conceal, Ryo, Ergo, Ethereum Classic, EthereumPoW, Ravencoin, Neurai, Neoxa, Meowcoin, Clore, nexa, Pearl, Quantus, Monero, Zephyr, Salvium, VERUS, Warthog and XELIS, and ships sha256d as the open-source SDK example.
Downloads
| file | size | SHA-256 |
|---|---|---|
bzminer_v100.40_windows.zip |
36.2 MB | 33f534c7ed1f1d4d330651f0e86ccceebf6c9bc28ee2f8aca89e0db1679d2c3a |
bzminer_v100.40_linux.tar.gz |
37.0 MB | ce819865c7fc114b4c967bb0878bf8adaa5c09489348b89f5093813bfef49c6b |
bzminer_custom-v100.40.tar.gz |
37.0 MB | d5bda5a81cdda46a846cad6e1d8757da4c500d45472652ba6d0b15bf696c22e2 |
bzminer_v100.40_docker.tar.gz |
13.4 KB | ed410b730ab2407cde280806997741b9d7e0acf21d7683715035ba8b070b7e4a |
bzminer_v100.40_macos.tar.gz |
48.1 MB | 55ebdfcd7a965a655fb2357b2274dff0a63e0cb4bef61c8f12c69ef35f462999 |
Verify before running:
# Linux / macOS
sha256sum -c <<< "<hash> <file>"
# Windows (PowerShell)
Get-FileHash .\<file> -Algorithm SHA256
A checksum only proves the file is the one that was published — always download from the official release page.
Getting started
- Unpack the archive for your platform.
- Open a
start_<algo>script and replace the placeholder wallet with your own. - Run it, then open http://127.0.0.1:4014/ for the dashboard.
readme.txt inside each archive has the full quick start, the common options, and
the hardware-safety settings. config.txt is a commented copy of every setting,
generated from the shipped binary, so it always matches the build you have.
config.txt may be JSON or a command line. The shipped file is JSON — every
setting inside one { } object. bzminer equally accepts the same file written as
the options you would have typed, which is what a mining OS generates and the
easier form to write by hand:
# one option per line, or a flag and its value on one line
-a pearl
-p stratum+tcp://pool:1234
-w YOUR_WALLET
--worker "My Rig"
Quote a value containing a space, and start a comment with #. An option you type
on the command line beats the file's copy of it, so the file is a default you can
override without editing it.
Docker
There is an image, and it carries the GPU userspace as well as the miner - no ROCm install, no driver packages, nothing on the host but a kernel driver:
docker pull bzminer/bzminer:v100.40
docker run --rm -it --gpus all bzminer/bzminer -a pearl -o stratum+tcp://pool:port -w YOUR_WALLET
The identical image is on GitHub as ghcr.io/bzminer/bzminer:v100.40 if you
would rather not pull from Docker Hub.
Or keep your config, log and plugins on the host and run it as a service:
docker run -d --name bzminer --restart unless-stopped --gpus all \
-v /opt/bzminer:/data -p 127.0.0.1:4014:4014 \
bzminer/bzminer --set http_address=0.0.0.0
With no arguments it runs /data/config.txt; anything you pass goes straight to
bzminer, so every command line on this page works unchanged. http_address has
to be 0.0.0.0 for the dashboard, because the default 127.0.0.1 binds the
container's loopback, which no published port can reach.
GPU flags differ per vendor. NVIDIA is --gpus all (with
nvidia-container-toolkit on the host). AMD and Intel are
--device /dev/kfd --device /dev/dri --group-add video --group-add render and
--device /dev/dri. Overclocking, MSR tuning and huge pages additionally need
--privileged; mining does not.
Update with a pull, not the miner's self-update - and the old tag stays published, so a rollback is just naming it:
docker pull bzminer/bzminer && docker restart bzminer
The binary inside the image is byte-identical to the one in
bzminer_v100.40_linux.tar.gz above. Full documentation:
docker run --rm bzminer/bzminer cat /opt/bzminer/docs/DOCKER.md.
Updating on a mining OS
Both fetch this exact version, so they can be pasted as-is - the version below is already the one on this page.
MMPOS
Put this in miner profile → advanced → "Initiate command prior to miner launch".
It downloads once; on every later launch the if sees the archive already in
/tmp and exits immediately, so it costs nothing per restart.
export version="v100.40"
if [ -f "/tmp/bzminer_${version}_linux.tar.gz" ]; then
exit 0
else
cd /tmp; wget https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz; tar -xvf bzminer_${version}_linux.tar.gz; sudo cp -adpR bzminer_${version}_linux/bzminer /opt/mmp/miners/bzminer/
fi
Hive OS custom miner
The Linux release now includes bzminer_custom-v100.40.tar.gz, a complete Hive OS custom
miner: the full bzminer binary, flight-sheet config adapter, log launcher, and
native /hive_status reporting.
- Click Copy on the Flight Sheet JSON below.
- Open the Hive OS farm page that lists all workers.
- Open the Flight Sheets tab.
- Click Import from Clipboard.
- Create/save the flight sheet and add your PEARL wallet.
- Apply the flight sheet to the workers.
The sample mines Pearl on HeroMiners. Change url, pool_urls, algo, and
coin for another pool or algorithm. The package maps those fields, %WAL%,
the Hive worker name, and pass directly to bzminer. Put optional bzminer CLI
arguments in user_config.
Flight Sheet JSON
{
"name": "PEARL_BZMINER_CUSTOM",
"isFavorite": false,
"items": [
{
"coin": "PEARL",
"pool_ssl": false,
"pool_urls": [
"us.pearl.herominers.com:1200"
],
"dpool_ssl": false,
"miner": "custom",
"miner_alt": "bzminer_custom",
"miner_config": {
"url": "us.pearl.herominers.com:1200",
"algo": "pearl",
"pass": "x",
"miner": "bzminer_custom",
"template": "%WAL%",
"install_url": "https://github.com/bzminer/bzminer/releases/download/v100.40/bzminer_custom-v100.40.tar.gz",
"user_config": ""
},
"pool_geo": []
}
]
}
Hive OS built-in miner (manual binary replacement)
Run it over SSH or in the Hive web shell.
You do not need to know which bzminer version is installed. Hive keeps one
folder per version under /hive/miners/bzminer/, and the flight sheet decides
which one runs - so this replaces the binary in every bzminer folder it finds
and whichever one your flight sheet points at gets the new build. That is the
whole reason it does not name a version directory.
version=v100.40
cd /tmp && wget -q https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz && tar -xf bzminer_${version}_linux.tar.gz || { echo "download failed"; exit 1; }
miner stop
n=0; for d in /hive/miners/bzminer/*/; do [ -d "$d" ] && cp -f "bzminer_${version}_linux/bzminer" "$d" && n=$((n+1)); done
[ "$n" -gt 0 ] && echo "updated $n bzminer folder(s)" || echo "no /hive/miners/bzminer/<version>/ found - install bzminer from the flight sheet first"
miner start
It prints how many folders it updated. 0 means bzminer has never been installed
from a flight sheet on that rig, so there is nothing to replace yet.
Reporting problems
Please include: your OS, GPU model(s) and driver version, the algorithm and pool,
and the first ~40 lines of the log (it prints the build, the devices it found, and
what each backend reported). --list-metrics output helps for sensor issues.
WildRig Multi 0.51.3
- improved pearlhash power efficiency up to 10% across NVIDIA gpu's
BzMiner v100.36
Release v100.36 of bzminer
All feedback is welcome ;)
- big pearl improvement on amd rnda4 (other amd's too)
- big pearl improvement on intel battlemage
- c29 improvements
- randomx improvements
- --amd should disable cpu (--nvidia, --amd, --intel)
- reset hashrate averaging window when oc is changed
- fixed issue with workers silently crashing and not submitting shares
- added watchdog for crashed workers
Mines Tari, Conceal, Ryo, Ergo, Ethereum Classic, EthereumPoW, Ravencoin, Neurai, Neoxa, Meowcoin, Clore, nexa, Pearl, Quantus, Monero, Zephyr, Salvium, VERUS, Warthog and XELIS, and ships sha256d as the open-source SDK example.
Downloads
| file | size | SHA-256 |
|---|---|---|
bzminer_v100.36_windows.zip |
34.4 MB | 85b07dafea1e61a76711fcbd5ca06a4d3671698963283bd829a67f54060fdd49 |
bzminer_v100.36_linux.tar.gz |
35.2 MB | 8a665ddd7138a87b94cabba851cc6897e86c65bfcd8f0639ebcb99c1b7c3f889 |
bzminer_custom-v100.36.tar.gz |
35.1 MB | d8153e57b5d6805a04b8c78a53d692cd771520cea2b77f985f92c73140b97c22 |
bzminer_v100.36_docker.tar.gz |
13.4 KB | d74a6ca44a9b2e20ed9aa2360275afe387cbae6c8079fec01ee7206dfe539a96 |
bzminer_v100.36_macos.tar.gz |
44.0 MB | 948c11ddbf2affae59c3abaeb3ee604307b724e366ba3a94379cff41ab8b2709 |
Verify before running:
# Linux / macOS
sha256sum -c <<< "<hash> <file>"
# Windows (PowerShell)
Get-FileHash .\<file> -Algorithm SHA256
A checksum only proves the file is the one that was published — always download from the official release page.
Getting started
- Unpack the archive for your platform.
- Open a
start_<algo>script and replace the placeholder wallet with your own. - Run it, then open http://127.0.0.1:4014/ for the dashboard.
readme.txt inside each archive has the full quick start, the common options, and
the hardware-safety settings. config.txt is a commented copy of every setting,
generated from the shipped binary, so it always matches the build you have.
config.txt may be JSON or a command line. The shipped file is JSON — every
setting inside one { } object. bzminer equally accepts the same file written as
the options you would have typed, which is what a mining OS generates and the
easier form to write by hand:
# one option per line, or a flag and its value on one line
-a pearl
-p stratum+tcp://pool:1234
-w YOUR_WALLET
--worker "My Rig"
Quote a value containing a space, and start a comment with #. An option you type
on the command line beats the file's copy of it, so the file is a default you can
override without editing it.
Docker
There is an image, and it carries the GPU userspace as well as the miner - no ROCm install, no driver packages, nothing on the host but a kernel driver:
docker pull bzminer/bzminer:v100.36
docker run --rm -it --gpus all bzminer/bzminer -a pearl -o stratum+tcp://pool:port -w YOUR_WALLET
The identical image is on GitHub as ghcr.io/bzminer/bzminer:v100.36 if you
would rather not pull from Docker Hub.
Or keep your config, log and plugins on the host and run it as a service:
docker run -d --name bzminer --restart unless-stopped --gpus all \
-v /opt/bzminer:/data -p 127.0.0.1:4014:4014 \
bzminer/bzminer --set http_address=0.0.0.0
With no arguments it runs /data/config.txt; anything you pass goes straight to
bzminer, so every command line on this page works unchanged. http_address has
to be 0.0.0.0 for the dashboard, because the default 127.0.0.1 binds the
container's loopback, which no published port can reach.
GPU flags differ per vendor. NVIDIA is --gpus all (with
nvidia-container-toolkit on the host). AMD and Intel are
--device /dev/kfd --device /dev/dri --group-add video --group-add render and
--device /dev/dri. Overclocking, MSR tuning and huge pages additionally need
--privileged; mining does not.
Update with a pull, not the miner's self-update - and the old tag stays published, so a rollback is just naming it:
docker pull bzminer/bzminer && docker restart bzminer
The binary inside the image is byte-identical to the one in
bzminer_v100.36_linux.tar.gz above. Full documentation:
docker run --rm bzminer/bzminer cat /opt/bzminer/docs/DOCKER.md.
Updating on a mining OS
Both fetch this exact version, so they can be pasted as-is - the version below is already the one on this page.
MMPOS
Put this in miner profile → advanced → "Initiate command prior to miner launch".
It downloads once; on every later launch the if sees the archive already in
/tmp and exits immediately, so it costs nothing per restart.
export version="v100.36"
if [ -f "/tmp/bzminer_${version}_linux.tar.gz" ]; then
exit 0
else
cd /tmp; wget https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz; tar -xvf bzminer_${version}_linux.tar.gz; sudo cp -adpR bzminer_${version}_linux/bzminer /opt/mmp/miners/bzminer/
fi
Hive OS custom miner
The Linux release now includes bzminer_custom-v100.36.tar.gz, a complete Hive OS custom
miner: the full bzminer binary, flight-sheet config adapter, log launcher, and
native /hive_status reporting.
- Click Copy on the Flight Sheet JSON below.
- Open the Hive OS farm page that lists all workers.
- Open the Flight Sheets tab.
- Click Import from Clipboard.
- Create/save the flight sheet and add your PEARL wallet.
- Apply the flight sheet to the workers.
The sample mines Pearl on HeroMiners. Change url, pool_urls, algo, and
coin for another pool or algorithm. The package maps those fields, %WAL%,
the Hive worker name, and pass directly to bzminer. Put optional bzminer CLI
arguments in user_config.
Flight Sheet JSON
{
"name": "PEARL_BZMINER_CUSTOM",
"isFavorite": false,
"items": [
{
"coin": "PEARL",
"pool_ssl": false,
"pool_urls": [
"us.pearl.herominers.com:1200"
],
"dpool_ssl": false,
"miner": "custom",
"miner_alt": "bzminer_custom",
"miner_config": {
"url": "us.pearl.herominers.com:1200",
"algo": "pearl",
"pass": "x",
"miner": "bzminer_custom",
"template": "%WAL%",
"install_url": "https://github.com/bzminer/bzminer/releases/download/v100.36/bzminer_custom-v100.36.tar.gz",
"user_config": ""
},
"pool_geo": []
}
]
}
Hive OS built-in miner (manual binary replacement)
Run it over SSH or in the Hive web shell.
You do not need to know which bzminer version is installed. Hive keeps one
folder per version under /hive/miners/bzminer/, and the flight sheet decides
which one runs - so this replaces the binary in every bzminer folder it finds
and whichever one your flight sheet points at gets the new build. That is the
whole reason it does not name a version directory.
version=v100.36
cd /tmp && wget -q https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz && tar -xf bzminer_${version}_linux.tar.gz || { echo "download failed"; exit 1; }
miner stop
n=0; for d in /hive/miners/bzminer/*/; do [ -d "$d" ] && cp -f "bzminer_${version}_linux/bzminer" "$d" && n=$((n+1)); done
[ "$n" -gt 0 ] && echo "updated $n bzminer folder(s)" || echo "no /hive/miners/bzminer/<version>/ found - install bzminer from the flight sheet first"
miner start
It prints how many folders it updated. 0 means bzminer has never been installed
from a flight sheet on that rig, so there is nothing to replace yet.
Reporting problems
Please include: your OS, GPU model(s) and driver version, the algorithm and pool,
and the first ~40 lines of the log (it prints the build, the devices it found, and
what each backend reported). --list-metrics output helps for sensor issues.
Keryx-miner-v0.5.6-test5-model-split
Fifth test release of the model-split miner. Mainnet is not affected.
What changed since 0.5.6-test4
-
A multi-GPU rig now declares its shard. On a rig, only one GPU serves the shard; the others keep a copy for PoM. The miner could pick one of those non-serving copies when looking up its shard endpoint, conclude it served nothing and stay silent. Without that declaration, no head would ever start a pipeline. Single-GPU boxes were never affected, which is why the second campaign worked and the fourth did not. The endpoint is now looked up on the GPU that actually serves the shard.
-
A head no longer waits forever for a missing shard. A head gives the links a grace period to declare, then serves or hands over. That deadline was restarted each time the request was looked at again, so it could never expire. It now runs from the first time the request is seen. The head also logs which shard tiers it is still waiting for, and a miner that holds a shard without serving it says so.
-
Links no longer drop a head while it loads. Test4 added an idle timeout on shard sessions, with a keepalive on the control link only. A head needs one to three minutes to load its weights, so the data links went quiet for longer than the timeout and were closed under it. The head now keeps every data link alive.
-
A corrupted model download is no longer stuck. When a downloaded file did not match its expected digest, it was kept on disk, and the next attempt resumed on top of the bad bytes. The file is now deleted on a mismatch, so the next run downloads it again from scratch. If you hit
digest mismatch, restart the miner. -
Shards announce the model of the current era. A miner holding a shard announced the model of the upcoming era instead of the one being mined, which would have failed its model challenge as soon as a model change was scheduled. It now announces the current one and prefetches both. Nothing changes today on mainnet or testnet.
-
Devnet support.
--devnetruns a local two-shard 9B bench against a devnet node. It is meant for development only.
Reminder for shard holders
- Ports 4001 (IPFS) and 60052 (shard gateway) open, TCP, inbound. If you use a custom gateway port,
--shard-publicmust announce the port that actually reaches your miner. - A rig with several GPUs serves its shard from one GPU only. The others keep their copy for PoM. This is expected.
--force-model shard-Nif your card is picked for the wrong shard, and--mine-when-not-syncedagainst the public node.
How to join the testnet?
1/ Download the zip for your class and unzip it into the miner's models/ folder:
8 GB → shard 0 (5.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-0.zip 12 GB → shard 1 (9.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-1.zip 12 GB → shard 2 (9.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-2.zip 16 GB → shard 3 (13.8 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-3.zip 24 GB → shard 4 (19.8 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-4.zip 32 GB → shard 5 (27.4 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-5.zip
2/ A keryxtest: address created on the testnet web wallet: https://testnet.keryx-labs.com/wallet Same escrow procedure as on mainnet, with that address.
3/ Start the miner on testnet, against the public node:
./keryx-miner --testnet --mining-address keryxtest:xxxxxxxxxxxxxxxxxxxxxxxxxxxx --high --mine-when-not-synced --keryxd-address 169.58.155.203:22210 --shard-gateway 0.0.0.0:60052 --shard-public YOUR_PUBLIC_IP:60052
ForgeMiner v1.8.1
ForgeMiner v1.8.1
Quantus is faster on every architecture, and now loads on older drivers too.
What's new
- Quantus (
--algorithm quantus) is faster across the board. New hand-tuned kernels on every supported architecture, same dev fee, same pools:- RTX 20-series (Turing): about +29%
- RTX 30-series (Ampere): about +9%
- RTX 40-series (Ada): about +5%
- RTX 50-series (Blackwell): about +30%
- Runs on older drivers. The 20-, 30- and 40-series Quantus images load on older NVIDIA drivers — no driver update needed. The RTX 50-series (Blackwell) requires NVIDIA driver 580 or newer.
- Everything else is unchanged from 1.8.0.
Checksums (sha256)
66044b56f63b8e592dfc63af7ea3043bb07b07bd5b1b7927f6b0907a4cb3d907 ForgeMiner-1.8.1-windows.zip
b8cfca82925957303c67e299069806ec27947a50bed3569630940c5c0490b519 ForgeMiner-1.8.1-linux.tar.gz
773e18bf61d3cbd995d299d7023db7c795c255ff6c8e1d87ae567702a4554ce9 ForgeMiner-1.8.1.tar.gz
Русский
ForgeMiner v1.8.1
Quantus стал быстрее на каждой архитектуре и теперь грузится на старых драйверах.
Что нового
- Quantus (
--algorithm quantus) быстрее на всех картах. Новые вручную оптимизированные ядра на каждой поддерживаемой архитектуре, комиссия и пулы прежние:- RTX 20-я серия (Turing): около +29%
- RTX 30-я серия (Ampere): около +9%
- RTX 40-я серия (Ada): около +5%
- RTX 50-я серия (Blackwell): около +30%
- Работает на старых драйверах. Образы Quantus для 20-, 30- и 40-й серий грузятся на старых драйверах NVIDIA — обновлять драйвер не нужно. Для RTX 50-й серии (Blackwell) нужен драйвер NVIDIA 580 или новее.
- Всё остальное — без изменений с 1.8.0.
Контрольные суммы (sha256)
66044b56f63b8e592dfc63af7ea3043bb07b07bd5b1b7927f6b0907a4cb3d907 ForgeMiner-1.8.1-windows.zip
b8cfca82925957303c67e299069806ec27947a50bed3569630940c5c0490b519 ForgeMiner-1.8.1-linux.tar.gz
773e18bf61d3cbd995d299d7023db7c795c255ff6c8e1d87ae567702a4554ce9 ForgeMiner-1.8.1.tar.gz
Download the assets below · docker pull hashraptor/forge · forgeminer.org · Telegram · Discord
SRBMiner-MULTI v3.6.9
-
Huge efficiency improvements on algorithm 'pearlhash' for NVIDIA GPUs*
-
Improved algorithm 'quantus' on AMD GPUs
-
Improved algorithm 'quantus' on NVIDIA 5000 series GPUs
Same (or better) hashrate at much lower power consumption across all architectures (except SM70 and SM103) GPUs that are power limited (H200, B200..) get a hashrate boost
Custom miner for Hiveos
To use it you need to select “Custom miner” when you create Flight Sheet and paste this into 'Installation url' : https://github.com/doktor83/SRBMiner-Multi/releases/download/3.6.9/srbminer_custom-3.6.9.tar.gz
After that you must set everything manually (--algorithm, --pool, --wallet) through the 'Extra config arguments' field by using parameters. Parameters list here : ( https://github.com/doktor83/SRBMiner-Multi/blob/master/Parameters )
Archive MD5 hashes d17b385d2fd34e208b2285b20e407384 *SRBMiner-Multi-3-6-9-win64.zip 3ace1b1e268763df09146afee6526981 *SRBMiner-Multi-3-6-9-Linux.tar.gz
krig-miner 1.5.2
Mining support for more GPU models:
Quantus (QTC):
- NVIDIA GeForce GTX 1080: 33.3 MH/s @ 167.66 W
- NVIDIA GeForce GTX 1660: 85.5 MH/s @ 115.65 W
- NVIDIA GeForce RTX 3090: 490.4 MH/s @ 370 W
- NVIDIA GeForce RTX 5090: 1339.7 MH/s @ 575 W
- AMD Radeon RX 6750 XT: 97.8 MH/s @ 191 W
- AMD Radeon RX 7600: 77.3 MH/s @ 144 W
- NVIDIA GTX 10xx/16xx
- AMD RX 400/500
- AMD Vega
- AMD RX 5000/6000/7000/9000
- AMD Ryzen APU support
Pearl (PRL):
- AMD Ryzen integrated GPUs (pass
--amd-igputo enable)
BzMiner v100.31
Release v100.31 of bzminer
All feedback is welcome ;)
x improved pearl hashrate on amd and nvidia (post screenshot of 9070xt) x added docker container for bzminer x vega56 amd gpu support for warthog x add Ellesmere support for quantus (rx 570) x add Polaris,tonga,vega support for quantus x improved randomx performance on intel and zen cpus
Mines Tari, Conceal, Ryo, Ergo, Ethereum Classic, EthereumPoW, Ravencoin, Neurai, Neoxa, Meowcoin, Clore, nexa, Pearl, Quantus, Monero, Zephyr, Salvium, VERUS, Warthog and XELIS, and ships sha256d as the open-source SDK example.
Downloads
| file | size | SHA-256 |
|---|---|---|
bzminer-update-full-windows-x64.exe |
34.2 MB | 5918a40e2a97916db69f334b53673105a19234415a57a5390c96dfa20347833c |
bzminer_v100.31_windows.zip |
34.2 MB | 2043139a7584c6884d03ce5b3c1f2ff57be0a0204be68be0bd5a92f7c2201596 |
bzminer_custom-v100.31.tar.gz |
34.9 MB | 4f776631c7d918836f56c24a25962ec73fb247a4d053d1f00270f79a716d9666 |
bzminer_v100.31_macos.tar.gz |
43.4 MB | 27ca541c95a52ad574c300650743822f2d077016155a0d51b94f99a5a36a8a81 |
Verify before running:
# Linux / macOS
sha256sum -c <<< "<hash> <file>"
# Windows (PowerShell)
Get-FileHash .\<file> -Algorithm SHA256
A checksum only proves the file is the one that was published — always download from the official release page.
Getting started
- Unpack the archive for your platform.
- Open a
start_<algo>script and replace the placeholder wallet with your own. - Run it, then open http://127.0.0.1:4014/ for the dashboard.
readme.txt inside each archive has the full quick start, the common options, and
the hardware-safety settings. config.txt is a commented copy of every setting,
generated from the shipped binary, so it always matches the build you have.
config.txt may be JSON or a command line. The shipped file is JSON — every
setting inside one { } object. bzminer equally accepts the same file written as
the options you would have typed, which is what a mining OS generates and the
easier form to write by hand:
# one option per line, or a flag and its value on one line
-a pearl
-p stratum+tcp://pool:1234
-w YOUR_WALLET
--worker "My Rig"
Quote a value containing a space, and start a comment with #. An option you type
on the command line beats the file's copy of it, so the file is a default you can
override without editing it.
Docker
There is an image, and it carries the GPU userspace as well as the miner - no ROCm install, no driver packages, nothing on the host but a kernel driver:
docker pull bzminer/bzminer:v100.31
docker run --rm -it --gpus all bzminer/bzminer -a pearl -o stratum+tcp://pool:port -w YOUR_WALLET
The identical image is on GitHub as ghcr.io/bzminer/bzminer:v100.31 if you
would rather not pull from Docker Hub.
Or keep your config, log and plugins on the host and run it as a service:
docker run -d --name bzminer --restart unless-stopped --gpus all \
-v /opt/bzminer:/data -p 127.0.0.1:4014:4014 \
bzminer/bzminer --set http_address=0.0.0.0
With no arguments it runs /data/config.txt; anything you pass goes straight to
bzminer, so every command line on this page works unchanged. http_address has
to be 0.0.0.0 for the dashboard, because the default 127.0.0.1 binds the
container's loopback, which no published port can reach.
GPU flags differ per vendor. NVIDIA is --gpus all (with
nvidia-container-toolkit on the host). AMD and Intel are
--device /dev/kfd --device /dev/dri --group-add video --group-add render and
--device /dev/dri. Overclocking, MSR tuning and huge pages additionally need
--privileged; mining does not.
Update with a pull, not the miner's self-update - and the old tag stays published, so a rollback is just naming it:
docker pull bzminer/bzminer && docker restart bzminer
The binary inside the image is byte-identical to the one in
bzminer_v100.31_linux.tar.gz above. Full documentation:
docker run --rm bzminer/bzminer cat /opt/bzminer/docs/DOCKER.md.
Updating on a mining OS
Both fetch this exact version, so they can be pasted as-is - the version below is already the one on this page.
MMPOS
Put this in miner profile → advanced → "Initiate command prior to miner launch".
It downloads once; on every later launch the if sees the archive already in
/tmp and exits immediately, so it costs nothing per restart.
export version="v100.31"
if [ -f "/tmp/bzminer_${version}_linux.tar.gz" ]; then
exit 0
else
cd /tmp; wget https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz; tar -xvf bzminer_${version}_linux.tar.gz; sudo cp -adpR bzminer_${version}_linux/bzminer /opt/mmp/miners/bzminer/
fi
Hive OS custom miner
The Linux release now includes bzminer_custom-v100.31.tar.gz, a complete Hive OS custom
miner: the full bzminer binary, flight-sheet config adapter, log launcher, and
native /hive_status reporting.
- Click Copy on the Flight Sheet JSON below.
- Open the Hive OS farm page that lists all workers.
- Open the Flight Sheets tab.
- Click Import from Clipboard.
- Create/save the flight sheet and add your PEARL wallet.
- Apply the flight sheet to the workers.
The sample mines Pearl on HeroMiners. Change url, pool_urls, algo, and
coin for another pool or algorithm. The package maps those fields, %WAL%,
the Hive worker name, and pass directly to bzminer. Put optional bzminer CLI
arguments in user_config.
Flight Sheet JSON
{
"name": "PEARL_BZMINER_CUSTOM",
"isFavorite": false,
"items": [
{
"coin": "PEARL",
"pool_ssl": false,
"pool_urls": [
"us.pearl.herominers.com:1200"
],
"dpool_ssl": false,
"miner": "custom",
"miner_alt": "bzminer_custom",
"miner_config": {
"url": "us.pearl.herominers.com:1200",
"algo": "pearl",
"pass": "x",
"miner": "bzminer_custom",
"template": "%WAL%",
"install_url": "https://github.com/bzminer/bzminer/releases/download/v100.31/bzminer_custom-v100.31.tar.gz",
"user_config": ""
},
"pool_geo": []
}
]
}
Hive OS built-in miner (manual binary replacement)
Run it over SSH or in the Hive web shell.
You do not need to know which bzminer version is installed. Hive keeps one
folder per version under /hive/miners/bzminer/, and the flight sheet decides
which one runs - so this replaces the binary in every bzminer folder it finds
and whichever one your flight sheet points at gets the new build. That is the
whole reason it does not name a version directory.
version=v100.31
cd /tmp && wget -q https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz && tar -xf bzminer_${version}_linux.tar.gz || { echo "download failed"; exit 1; }
miner stop
n=0; for d in /hive/miners/bzminer/*/; do [ -d "$d" ] && cp -f "bzminer_${version}_linux/bzminer" "$d" && n=$((n+1)); done
[ "$n" -gt 0 ] && echo "updated $n bzminer folder(s)" || echo "no /hive/miners/bzminer/<version>/ found - install bzminer from the flight sheet first"
miner start
It prints how many folders it updated. 0 means bzminer has never been installed
from a flight sheet on that rig, so there is nothing to replace yet.
Reporting problems
Please include: your OS, GPU model(s) and driver version, the algorithm and pool,
and the first ~40 lines of the log (it prints the build, the devices it found, and
what each backend reported). --list-metrics output helps for sensor issues.
Keryx-miner-v0.5.6-test4-model-split
Fourth test release of the model-split miner. Mainnet is not affected.
Nothing to reconfigure on your side. Replace the binary, restart, keep the same flags. If you were running the test2 binary with the test3 engine, that workaround is over: use this package as it ships.
What changed since 0.5.6-test3
-
A request can now cross the shard boundary. Every request of the second campaign died in the same place: the shard that held the first layers rejected the graph with
invalid data ptr/failed to create graph node, while the other shards reported nothing. The cause was in the rpc client: a tensor allocated on one shard server was sent to the next one carrying the first server's memory pointer. The second server does not know that buffer, drops the pointer, and then refuses the whole graph. It only ever happens with two or more shard servers in a row, which is why a single-machine run always worked. Such a tensor is now sent detached, and the receiving server treats it as what it is, a value produced elsewhere. Reproduced locally on one GPU with a truncated head over two real shards, and fixed there before shipping. -
A head that disappears no longer freezes your GPU. While a head drives your shard, PoW is paused on that GPU on purpose. Until now, a head that vanished without closing the connection, a killed container, a box that lost its network, left the session open forever, and the pause with it. Your miner looked alive and mined nothing. A session with no traffic for 120 s is now closed and PoW resumes. Heads send a keepalive on the control link every 30 s, so a head that is legitimately waiting for its links is never dropped by mistake.
-
Building from source no longer breaks on the second build. The build script decided a llama.cpp patch was already applied by trying to reverse it one by one. Our patches overlap, so on an already-patched checkout that test lied and the build failed. The applied set is now stamped, and the checkout is reset when the set changes. This only concerns people who build the miner themselves.
Reminder for shard holders
- Ports 4001 (IPFS) and 60052 (shard gateway) open, TCP, inbound. If you use a custom gateway port,
--shard-publicmust announce the port that actually reaches your miner. - A rig with several GPUs serves its shard from one GPU only. The others keep their copy for PoM. This is expected.
--force-model shard-Nif your card is picked for the wrong shard, and--mine-when-not-syncedagainst the public node.
How to join the testnet?
1/ Download the zip for your class and unzip it into the miner's models/ folder:
8 GB → shard 0 (5.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-0.zip 12 GB → shard 1 (9.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-1.zip 12 GB → shard 2 (9.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-2.zip 16 GB → shard 3 (13.8 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-3.zip 24 GB → shard 4 (19.8 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-4.zip 32 GB → shard 5 (27.4 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-5.zip
2/ A keryxtest: address created on the testnet web wallet: https://testnet.keryx-labs.com/wallet Same escrow procedure as on mainnet, with that address.
3/ Start the miner on testnet, against the public node:
./keryx-miner --testnet --mining-address keryxtest:xxxxxxxxxxxxxxxxxxxxxxxxxxxx --high --mine-when-not-synced --keryxd-address 169.58.155.203:22210 --shard-gateway 0.0.0.0:60052 --shard-public YOUR_PUBLIC_IP:60052
SRBMiner-MULTI v3.6.8
-
Hashrate improvement on 'pearlhash' for NVIDIA (mostly 3000 series) GPUs*
-
Added support for AMD ELLESMERE (RX4xx, RX5xx) GPUS on algorithm 'quantus'
-
Bug fixes
Soon, Pearl will be getting an upgrade that will make consumer-grade GPUs pretty much useless. This release is focused on maximizing hashrate on some GPUs; efficiency is not a priority.
Custom miner for Hiveos
To use it you need to select “Custom miner” when you create Flight Sheet and paste this into 'Installation url' : https://github.com/doktor83/SRBMiner-Multi/releases/download/3.6.8/srbminer_custom-3.6.8.tar.gz
After that you must set everything manually (--algorithm, --pool, --wallet) through the 'Extra config arguments' field by using parameters. Parameters list here : ( https://github.com/doktor83/SRBMiner-Multi/blob/master/Parameters )
Archive MD5 hashes d48c754b6b27d8e23632f113fdb0739f *SRBMiner-Multi-3-6-8-win64.zip e3b17f588f42261c815cdcd4f1b17e4c *SRBMiner-Multi-3-6-8-Linux.tar.gz