Port miner113's RX_DRAGONX mining model into the RX_HUSH path so DragonX mining is identical in solo and pool mode: - CpuWorker: filter EVERY hash on SHA256D(header + RandomX solution) (the block-bearing pow-hash) instead of the RandomX hash; submit the full 32-byte nonce + rx_hash. Removes the fragile pool-mode dual-check that was dropping ~half of block candidates. - Job: 32-byte nonce for RX_HUSH in pool mode too (was solo-only). - JobResult: populate nonceBytes() on the standard 4-byte path. - Client: submit a variable-width nonce (32-byte for DragonX) with a dynamically laid-out temp buffer. Effect: shares and blocks use one metric, so the pool receives every block candidate (no under-submission gap) and the hashrate is block-relevant. Rebrand to drg-xmrig (version.h, build.sh, package.json, README) + add PROTOCOL.md wire spec. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
51 lines
1.8 KiB
Markdown
51 lines
1.8 KiB
Markdown
# DRG-XMRig
|
|
|
|
**DRG-XMRig** is the official [DragonX](https://dragonx.is) CPU miner — a fork of
|
|
[XMRig](https://github.com/xmrig/xmrig) that mines DragonX's dual-hash
|
|
(RandomX + double-SHA256) proof of work.
|
|
|
|
**Repository:** https://git.dragonx.is/DragonX/drg-xmrig
|
|
|
|
## What's different
|
|
|
|
DragonX block validity is `SHA256D(header + RandomX(header)) <= target`: RandomX
|
|
produces the solution, and the **double-SHA256** of `header + solution` is the
|
|
difficulty-bearing hash.
|
|
|
|
DRG-XMRig filters **every** hash on that double-SHA256 pow-hash (not on the RandomX
|
|
hash), uniformly in both solo and pool mode. A block is therefore simply a share
|
|
that clears a harder target, which means:
|
|
|
|
- the pool receives **every** block candidate — no under-submission gap, and
|
|
- the reported hashrate is block-relevant (it matches the network metric).
|
|
|
|
It mines the `rx/dragonx` algorithm (aliases: `rx/hush`, `dragonx`) using DragonX's
|
|
customized RandomX parameters.
|
|
|
|
The exact wire protocol (job format, 32-byte nonce / extranonce handling, submit
|
|
format, pow-hash construction) is documented in [PROTOCOL.md](PROTOCOL.md). A
|
|
DragonX pool that scores shares on the double-SHA256 pow-hash is required.
|
|
|
|
Based on XMRig v6.25.
|
|
|
|
## Mining backends
|
|
- **CPU** (x86/x64, ARMv7/ARMv8, RISC-V)
|
|
|
|
## Build
|
|
```
|
|
./build.sh --linux-release # Linux x86_64 static release
|
|
./build.sh --win-release # Windows x86_64 (MinGW cross-compile)
|
|
```
|
|
Dependencies are built by `scripts/build_deps.sh` on first run.
|
|
|
|
## Usage
|
|
```
|
|
./xmrig -o <pool-host>:<port> -u <YOUR_DRGX_ADDRESS> -a rx/dragonx
|
|
```
|
|
The preferred way to configure the miner is the JSON config file (`config.json`).
|
|
|
|
## Credits
|
|
Based on [XMRig](https://github.com/xmrig/xmrig) by
|
|
[xmrig](https://github.com/xmrig) and [sech1](https://github.com/SChernykh)).
|
|
DragonX dual-hash mining model.
|