diff options
| author | bitflash-maintainer <noreply@bitflash.invalid> | 2026-09-02 14:35:18 +0000 |
|---|---|---|
| committer | bitflash-maintainer <noreply@bitflash.invalid> | 2026-09-02 14:35:18 +0000 |
| commit | 437d23184e6edd2d1777ef25e5a5a091adbca551 (patch) | |
| tree | b9ead7bd19edd7331f23918a1460d36edb5079e1 | |
| parent | 0b7363211f954698e593699f32ed13b425fce2bc (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.md | 18 | ||||
| -rw-r--r-- | src/readme.txt | 2 |
2 files changed, 15 insertions, 5 deletions
| @@ -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 | ||
| 291 | The built-in participant miner connects to operator pools through the `.btf` | 291 | The built-in participant miner connects to operator pools through the `.btf` |
| 292 | path. External miners can use Bitflash as a local Stratum bridge: | 292 | path. Use it — **third-party RandomX miners such as XMRig and SRBMiner cannot |
| 293 | mine Bitflash pools**, and no amount of configuration changes that. In RandomX | ||
| 294 | mode they speak the Monero-style JSON-RPC protocol (`login`/`job`/`submit`) and | ||
| 295 | assume a Monero-style job: the nonce at byte 39 of the blob, and a 32-byte seed | ||
| 296 | hash given as 64 hex characters. Bitflash pools speak Bitcoin-style Stratum | ||
| 297 | (`mining.subscribe`/`mining.notify`/`mining.submit`) over an 80-byte header | ||
| 298 | whose nonce is at byte 76 — byte 39 falls inside the merkle root — and key | ||
| 299 | RandomX 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, | ||
| 302 | so a miner on this machine can reach a pool it otherwise could not address. It | ||
| 303 | is a byte relay, not a protocol translator, so it helps only a miner that | ||
| 304 | already 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 |
| 296 | SRBMiner-MULTI --algorithm randomx --pool 127.0.0.1:3333 --wallet YOUR_BTF_ADDRESS --password x | ||
| 297 | xmrig -a rx/0 -o 127.0.0.1:3333 -u YOUR_BTF_ADDRESS -p x | ||
| 298 | ``` | 308 | ``` |
| 299 | 309 | ||
| 300 | Estimate rewards and electricity cost locally: | 310 | Estimate 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 | ||
| 328 | Every option takes `-` or `/`. **Under MSYS2 use the `-` form** — the shell | 338 | Every 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. | |||
| 16 | Differences from the original Bitcoin | 16 | Differences 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) |