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>
This commit is contained in:
61
README.md
61
README.md
@@ -1,35 +1,50 @@
|
||||
# XMRig-HAC
|
||||
# DRG-XMRig
|
||||
|
||||
XMRig-HAC is a fork of [XMRig](https://github.com/xmrig/xmrig) with added support for **DragonX** coin mining using the **rx/hush** (RandomX-HUSH) algorithm.
|
||||
**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:** [git.hush.is/dragonx/xmrig-hac](https://git.hush.is/dragonx/xmrig-hac)
|
||||
**Repository:** https://git.dragonx.is/DragonX/drg-xmrig
|
||||
|
||||
## Fork Changes
|
||||
## What's different
|
||||
|
||||
This fork adds:
|
||||
- **DragonX** coin support
|
||||
- **rx/hush** algorithm (RandomX-HUSH variant)
|
||||
- Customized RandomX configuration for HUSH/DragonX
|
||||
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.
|
||||
|
||||
Based on XMRig v6.25.0.
|
||||
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)
|
||||
- **OpenCL** for AMD GPUs.
|
||||
- **CUDA** for NVIDIA GPUs via external [CUDA plugin](https://github.com/xmrig/xmrig-cuda).
|
||||
- **CPU** (x86/x64, ARMv7/ARMv8, RISC-V)
|
||||
|
||||
## Download
|
||||
* **[Binary releases](https://git.hush.is/dragonx/xmrig-hac/releases)**
|
||||
* **[Build from source](https://xmrig.com/docs/miner/build)**
|
||||
## 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
|
||||
The preferred way to configure the miner is the [JSON config file](https://xmrig.com/docs/miner/config) as it is more flexible and human friendly. The [command line interface](https://xmrig.com/docs/miner/command-line-options) does not cover all features, such as mining profiles for different algorithms. Important options can be changed during runtime without miner restart by editing the config file or executing [API](https://xmrig.com/docs/miner/api) calls.
|
||||
|
||||
* **[Wizard](https://xmrig.com/wizard)** helps you create initial configuration for the miner.
|
||||
* **[Workers](http://workers.xmrig.info)** helps manage your miners via HTTP API.
|
||||
```
|
||||
./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
|
||||
|
||||
This fork is based on [XMRig](https://github.com/xmrig/xmrig) by:
|
||||
* **[xmrig](https://github.com/xmrig)**
|
||||
* **[sech1](https://github.com/SChernykh)**
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user