From 437d23184e6edd2d1777ef25e5a5a091adbca551 Mon Sep 17 00:00:00 2001 From: bitflash-maintainer Date: Wed, 2 Sep 2026 14:35:18 +0000 Subject: docs: third-party RandomX miners cannot mine Bitflash pools The README offered XMRig and SRBMiner command lines pointed at the local Stratum bridge. Neither can work. In RandomX mode both target the Monero-style JSON-RPC protocol (login/job/submit) while the pool speaks Bitcoin-style Stratum (mining.subscribe/notify/submit); both place the nonce at byte 39 of the job blob, which in an 80-byte Bitflash header is inside the merkle root, not the nonce at byte 76; and both require a 32-byte seed hash as 64 hex characters, where randomx_pow.cpp keys RandomX from a fixed 36-byte string that is not a hash at all. None of it is configurable. -stratumbridge is a byte relay between a local socket and the .btf tunnel (BridgePump, main.cpp) -- it fixes reachability, the one blocker an operator could otherwise do something about, and translates nothing. Say that where the commands used to be, so the question gets answered instead of asked again. Also correct the magic bytes in src/readme.txt, which documented bf 1a 5c fd; net.h has bf 20 5c fd. --- README.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 1782bc3..77a0ad8 100644 --- a/README.md +++ b/README.md @@ -289,12 +289,22 @@ See [public pool directory](docs/pool-directory.md) for the website/API shape. **Participant** — mine to someone else's pool. Enter or select the pool's `.btf` address and enable Start Mining. The built-in participant miner connects to operator pools through the `.btf` -path. External miners can use Bitflash as a local Stratum bridge: +path. Use it — **third-party RandomX miners such as XMRig and SRBMiner cannot +mine Bitflash pools**, and no amount of configuration changes that. In RandomX +mode they speak the Monero-style JSON-RPC protocol (`login`/`job`/`submit`) and +assume a Monero-style job: the nonce at byte 39 of the blob, and a 32-byte seed +hash given as 64 hex characters. Bitflash pools speak Bitcoin-style Stratum +(`mining.subscribe`/`mining.notify`/`mining.submit`) over an 80-byte header +whose nonce is at byte 76 — byte 39 falls inside the merkle root — and key +RandomX from a fixed 36-byte string that is not a hash at all. + +`-stratumbridge` carries that same Bitcoin-style Stratum over the `.btf` path, +so a miner on this machine can reach a pool it otherwise could not address. It +is a byte relay, not a protocol translator, so it helps only a miner that +already speaks the pool's dialect, and it does not make the miners above work: ```bash ./bitflash -nogui -stratumbridge=POOL_BTF_ADDRESS -stratumbridgeport=3333 -SRBMiner-MULTI --algorithm randomx --pool 127.0.0.1:3333 --wallet YOUR_BTF_ADDRESS --password x -xmrig -a rx/0 -o 127.0.0.1:3333 -u YOUR_BTF_ADDRESS -p x ``` Estimate rewards and electricity cost locally: @@ -322,7 +332,7 @@ Bitflash has a reliable public market. -poolstatusfile=/var/www/pool_status.json \ -poolroundsfile=/var/www/pool_rounds.json ./bitflash -nogui -gen -participant=POOL_BTF_ADDRESS # mine to pool -./bitflash -nogui -stratumbridge=POOL_BTF_ADDRESS # local bridge for XMRig/SRBMiner +./bitflash -nogui -stratumbridge=POOL_BTF_ADDRESS # Stratum over .btf (see Mining) ``` Every option takes `-` or `/`. **Under MSYS2 use the `-` form** — the shell -- cgit v1.2.3