Files
drg-xmrig/README.md
DanS 84e7d1453c drg-xmrig: fork of xmrig-hac with unified pow-hash share model
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>
2026-06-06 16:49:22 -05:00

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.