upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbitflash-maintainer <noreply@bitflash.invalid>2026-09-02 14:35:18 +0000
committerbitflash-maintainer <noreply@bitflash.invalid>2026-09-02 14:35:18 +0000
commit437d23184e6edd2d1777ef25e5a5a091adbca551 (patch)
treeb9ead7bd19edd7331f23918a1460d36edb5079e1
parent0b7363211f954698e593699f32ed13b425fce2bc (diff)
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.
-rw-r--r--README.md18
-rw-r--r--src/readme.txt2
2 files changed, 15 insertions, 5 deletions
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.
289**Participant** — mine to someone else's pool. Enter or select the pool's `.btf` address and enable Start Mining. 289**Participant** — mine to someone else's pool. Enter or select the pool's `.btf` address and enable Start Mining.
290 290
291The built-in participant miner connects to operator pools through the `.btf` 291The built-in participant miner connects to operator pools through the `.btf`
292path. External miners can use Bitflash as a local Stratum bridge: 292path. Use it — **third-party RandomX miners such as XMRig and SRBMiner cannot
293mine Bitflash pools**, and no amount of configuration changes that. In RandomX
294mode they speak the Monero-style JSON-RPC protocol (`login`/`job`/`submit`) and
295assume a Monero-style job: the nonce at byte 39 of the blob, and a 32-byte seed
296hash given as 64 hex characters. Bitflash pools speak Bitcoin-style Stratum
297(`mining.subscribe`/`mining.notify`/`mining.submit`) over an 80-byte header
298whose nonce is at byte 76 — byte 39 falls inside the merkle root — and key
299RandomX from a fixed 36-byte string that is not a hash at all.
300
301`-stratumbridge` carries that same Bitcoin-style Stratum over the `.btf` path,
302so a miner on this machine can reach a pool it otherwise could not address. It
303is a byte relay, not a protocol translator, so it helps only a miner that
304already speaks the pool's dialect, and it does not make the miners above work:
293 305
294```bash 306```bash
295./bitflash -nogui -stratumbridge=POOL_BTF_ADDRESS -stratumbridgeport=3333 307./bitflash -nogui -stratumbridge=POOL_BTF_ADDRESS -stratumbridgeport=3333
296SRBMiner-MULTI --algorithm randomx --pool 127.0.0.1:3333 --wallet YOUR_BTF_ADDRESS --password x
297xmrig -a rx/0 -o 127.0.0.1:3333 -u YOUR_BTF_ADDRESS -p x
298``` 308```
299 309
300Estimate rewards and electricity cost locally: 310Estimate rewards and electricity cost locally:
@@ -322,7 +332,7 @@ Bitflash has a reliable public market.
322 -poolstatusfile=/var/www/pool_status.json \ 332 -poolstatusfile=/var/www/pool_status.json \
323 -poolroundsfile=/var/www/pool_rounds.json 333 -poolroundsfile=/var/www/pool_rounds.json
324./bitflash -nogui -gen -participant=POOL_BTF_ADDRESS # mine to pool 334./bitflash -nogui -gen -participant=POOL_BTF_ADDRESS # mine to pool
325./bitflash -nogui -stratumbridge=POOL_BTF_ADDRESS # local bridge for XMRig/SRBMiner 335./bitflash -nogui -stratumbridge=POOL_BTF_ADDRESS # Stratum over .btf (see Mining)
326``` 336```
327 337
328Every option takes `-` or `/`. **Under MSYS2 use the `-` form** — the shell 338Every option takes `-` or `/`. **Under MSYS2 use the `-` form** — the shell
diff --git a/src/readme.txt b/src/readme.txt
index 752be66..7490a9a 100644
--- a/src/readme.txt
+++ b/src/readme.txt
@@ -16,7 +16,7 @@ This product includes software developed by the OpenSSL Project.
16Differences from the original Bitcoin 16Differences from the original Bitcoin
17------------------------------------- 17-------------------------------------
18- Own genesis block (22/Jul/2026 headline, independent chain) 18- Own genesis block (22/Jul/2026 headline, independent chain)
19- Own magic bytes (0xbf 0x1a 0x5c 0xfd) and P2P port 8433 19- Own magic bytes (0xbf 0x20 0x5c 0xfd) and P2P port 8433
20- Addresses start with "B" (ADDRESSVERSION = 25) 20- Addresses start with "B" (ADDRESSVERSION = 25)
21- Consensus fixes applied: value overflow (CVE-2010-5139), duplicate inputs, 21- Consensus fixes applied: value overflow (CVE-2010-5139), duplicate inputs,
22 money range checks (MoneyRange) 22 money range checks (MoneyRange)