Skip to content

Repository files navigation

drgxmrig — HiveOS custom miner for DragonX (drg-xmrig)

Wraps DragonX's XMRig fork (drg-xmrig v6.25.3) as a HiveOS "Custom miner" package, pre-wired for pool.dragonx.is.

What's in this repo

drgxmrig-pkg/
├── build.sh              # compiles the real drg-xmrig binary from source
├── package.sh            # assembles the final HiveOS tarball
└── drgxmrig/
    ├── h-manifest.conf    # Hive integration metadata (not a miner config)
    ├── h-config.sh        # generates drgxmrig.json from Flight Sheet fields
    ├── h-run.sh           # launches the miner
    ├── h-stats.sh         # reports hashrate/shares to the Hive agent
    └── drgxmrig           # <- compiled binary goes here (build.sh output)

⚠️ Before you mine: two things I could NOT verify

  1. The exact algorithm string. DragonX is RandomX-based, but I could not confirm from public docs whether the pool expects rx/0 (stock Monero RandomX) or a custom variant string (e.g. rx/drgx). h-config.sh defaults to rx/0 via the CUSTOM_ALGO Flight Sheet field — check drg-xmrig's own README.md/ALGORITHMS.md in the source archive, or DragonX's standalone-miner config.json (linked from dragonx.is), for the real value, and set it in the Flight Sheet's "Hash algorithm" field before you rely on this.
  2. The exact stratum port/TLS setting for pool.dragonx.is. I couldn't pull this from public sources. Get it from the pool's own site or from the config.json bundled with DragonX's official standalone CPU miner (also linked from dragonx.is) — don't guess.

Get both confirmed, then move on.

Step 1 — Compile the real binary

The URL you gave (.../archive/v6.25.3.tar.gz) is Gitea's auto-generated source archive, not a binary. build.sh compiles it for you:

chmod +x build.sh
./build.sh

Run this somewhere with internet access and a C++ toolchain — your own Linux machine, or directly in a rig's Hive Shell (Farm → your rig → Shell), since git.dragonx.is needs to be reachable. It will:

  • install build deps (cmake, libuv, openssl, hwloc, etc. — standard XMRig build requirements)
  • download and unpack the source
  • cmake + make -j$(nproc)
  • verify the binary with file/ldd
  • copy it to drgxmrig/drgxmrig

If the compiled binary isn't named drgxmrig inside the build dir (drg-xmrig may have kept the upstream xmrig binary name), build.sh falls back to looking for xmrig and copies it as drgxmrig. Check the script's output.

Step 2 — Package it

chmod +x package.sh
./package.sh

This produces drgxmrig-6.25.3.tar.gz with the exact layout, permissions, and ownership HiveOS's custom-miner loader requires — I validated this against the real validation logic HiveOS runs on install (hive/miners/custom/h-config.sh's miner_config_gen(), which derives the expected folder name from the archive filename and rejects a mismatch).

Step 3 — Test on a real rig (do this before trusting it)

  1. Host drgxmrig-6.25.3.tar.gz somewhere reachable by the rig (a GitHub Release works well — see Step 4).
  2. In the HiveOS dashboard: Flight Sheets → Add Flight Sheet
    • Coin: pick DragonX if listed, or "Other"
    • Miner: select Custom
      • Miner name: drgxmrig (must match the folder name exactly)
      • Installation URL: the raw URL to drgxmrig-6.25.3.tar.gz
      • Hash algorithm: the confirmed algo string (→ $CUSTOM_ALGO)
      • Wallet and worker template: %WAL%.%WORKER_NAME%
      • Pool URL: stratum+tcp://pool.dragonx.is:<confirmed port> (or stratum+ssl://... if the pool uses TLS)
      • Pass: x (or whatever the pool documents)
      • Extra config arguments: optional, e.g. --threads=6
    • Wallet: your DRGX address
  3. Apply the Flight Sheet to a rig and watch it install + start.
  4. From the rig's Shell, sanity-check:
    cat /hive/miners/custom/drgxmrig/drgxmrig.json   # generated config looks right?
    tail -f /var/log/miner/drgxmrig/drgxmrig.log     # miner actually connecting?
    curl -s 127.0.0.1:45580/2/summary | jq .          # API alive?
  5. Confirm on the HiveOS dashboard that hashrate/shares show up (this exercises h-stats.sh), and confirm shares are being accepted, not just submitted, on pool.dragonx.is's own stats page for your wallet.

Only once you see accepted shares on the actual pool should you consider this "working."

Step 4 — Publish to github.com/Firsttime13

Once testing above is clean:

# from this directory
git init
git add build.sh package.sh drgxmrig/h-manifest.conf drgxmrig/h-config.sh \
        drgxmrig/h-run.sh drgxmrig/h-stats.sh README.md
git commit -m "drgxmrig: HiveOS custom miner wrapper for DragonX (drg-xmrig v6.25.3)"
git branch -M main
git remote add origin https://github.com/Firsttime13/drgxmrig-hiveos.git
git push -u origin main

(Create the empty drgxmrig-hiveos repo on github.com/Firsttime13 first if it doesn't exist — GitHub → New repository.)

Do not commit the compiled binary to git (GitHub isn't a great place for binary blobs and it'll bloat the repo). Instead, publish the actual drgxmrig-6.25.3.tar.gz — the one containing the real compiled binary — as a GitHub Release asset:

# using GitHub CLI, after `gh auth login`
gh release create v6.25.3 drgxmrig-6.25.3.tar.gz \
  --repo Firsttime13/drgxmrig-hiveos \
  --title "drgxmrig 6.25.3" \
  --notes "HiveOS custom miner package wrapping drg-xmrig v6.25.3 for pool.dragonx.is"

That gives you a stable URL like:

https://github.com/Firsttime13/drgxmrig-hiveos/releases/download/v6.25.3/drgxmrig-6.25.3.tar.gz

Use that as the Installation URL in the Flight Sheet — GitHub Releases are reliable/CDN-backed, which matters since every rig re-downloads this on install/update.

Updating later

Per HiveOS's own docs: once a rig has this custom miner installed, you can ship a new version just by bumping the version in a new tarball (drgxmrig-6.25.4.tar.gz, etc.), publishing a new Release, and changing the Installation URL in the Flight Sheet — no manual reinstall needed.

About

HiveOS custom miner package wrapping drg-xmrig v6.25.3 for pool.dragonx.is

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages