-
Dragonx v1.3.0 Stable
released this
2026-09-02 03:01:24 -05:00 | 0 commits to master since this releaseWhat is DragonX?
DragonX is a privacy-focused cryptocurrency built on zero-knowledge mathematics. It is fully private from the genesis block: transparent outputs are disabled at the consensus level (
ac_private=1, Sapling active from height 1), so funds can only ever be held and sent as shielded z-address (z2z) transactions. Mining uses RandomX, a CPU-friendly, ASIC-resistant proof-of-work.This is a major feature release: new wallets now default to a BIP39 24-word seed phrase, mining nodes auto-shield their coinbase into a private address on their own, and RandomX pool mining over Stratum is supported with a reference miner. It also hardens consensus and proof-of-work, repairs peer discovery, and lands a large internal cleanup. Upgrading is safe and non-partitioning — v1.3.0 nodes still peer with and sync from every v1.0.3 node — and is recommended for all operators.
New Features & Behavior Changes
- New wallets default to a BIP39 24-word seed phrase — BIP39 support shipped in v1.0.3; new wallets now use it by default instead of a random seed, so they can be backed up as 24 words (
z_exportmnemonic) and restored in SilentDragonXLite or any compatible wallet. Existing wallets are never re-seeded;-usemnemonic=0opts back out. - Automatic coinbase shielding — matured coinbase is drained to a wallet-owned z-address on its own, so miners no longer shield by hand. Default-ON only for wallets with a provably recoverable HD seed; legacy/seedless wallets stay OFF until you back up the seed and pass
-autoshield=1. - RandomX pool mining over Stratum — the built-in stratum server now speaks DragonX's RandomX PoW (previously Equihash-only), off by default (
-stratum+-stratumallowip); astratumminereference miner and-stratumtargetare included.
Wallet
- Downgrade-compatible mnemonic storage — the expanded 64-byte BIP39 seed is stored with no version bump or minimum-version fence, so an older release can still open a wallet this build wrote.
- HD seed/chain persistence hardened — the HD chain is written before the seed, a corrupt/missing
hdchainor a failed BIP39 generation is now a loud error, and seed provenance is recorded (retrofitting a seed onto an existing wallet warns it predates your backups). - Older and salvaged wallets load safely —
-salvagewalletkeeps the mnemonic/hdchainrecords; a wallet salvaged by v1.0.3 opens read/write in a degraded mode (no new HD-key derivation) instead of aborting; a truncatedhdchainis repaired rather than rejected. - Interrupted rescans no longer hide funds — a cut-short rescan no longer marks the wallet scanned-to-tip, clears the
abortrescanlatch each run, and checkpoints its progress so it resumes where it stopped. - Plaintext HD seed erased on encryption — latent on this chain (reachable only via the experimental
-developerencryptwallet). - A command-line
rpcpasswordsurvives restarts — it is no longer silently overwritten by the auto-generatedDRAGONX.conf(a dead, misspelled-rpcusernamekey is also fixed).
Security & Consensus
- PROTOCOL_VERSION → 2000001 —
MIN_PEER_PROTO_VERSIONstays at 2000000, so the upgrade is non-partitioning with no flag-day. - Block-validity levels tracked correctly again — a
BLOCK_VALID_CONTEXTflag collision (inherited from Komodo/Hush) caused cosmeticgetchaintips/submitblockmisreports; full validation always ran, so no block was ever wrongly accepted or rejected. Self-heals on reindex. - RandomX PoW never accidentally skipped — the verify-once optimization is armed only when the header check actually performed the verification (strictly more verification, never less).
- Dead CBOPRET price check removed from coinbase validation — it never ran on DragonX;
verifychain-confirmed identical. - nSPV request handler initializes its
filter— two remotely-reachable request forms passed uninitialized memory.
Mining & Stratum
- No remote crash from a malformed
job_id— a 63-character non-hexjob_idaborted the daemon pre-auth; each candidate is now size-checked. - Reward misattribution fixed — a block found by one miner could pay another because the shared work template was mutated with the first client's coinbase; each client now derives its header from a private copy.
- Share validation bounded against abuse — the cheap SHA256d target test runs before the ~65 ms RandomX hash, and
mining.submitnow requires the authorize handshake. stratumminehardened against a hostile server — validates job fields before use, ignores malformed messages, and clamps the timeout.- Miner lock-leak fixed on the
CreateNewBlockerror paths (behavior-identical on DragonX).
Networking
- Peer discovery works from a clean datadir — fixed three breakages at once: dead Hush DNS seeds (inherited by accident), fixed seeds carrying port
0x0000, and a counter bug that hid the failure. - Round-robin DNS seeding — the node seeds from
seed.dragonx.is(with static fallbacks), so the seed set can change via a DNS edit instead of a release; two new seed nodes (node6/node7.dragonx.is) are added. -connectand connect-by-name fixed — an address-validation check ran before name resolution, rejecting by-name targets before a socket was opened.- Other smart chains no longer inherit DragonX's seeds, and
dragonx-clireports the port it actually dialed on a connection failure.
Sync & Performance
- Much faster first sync past RandomX activation — the checkpoint table is extended to height 3,226,000, finally enabling the below-checkpoint verification skip; blocks needing a full RandomX verify drop from ~391,000 to ~5,500, roughly 19× at the boundary.
Packaging, Build & QA
- Portable RandomX — action required for self-builders — RandomX now builds with
-DARCH=default(was-DARCH=native, which could bake in AVX-512 andSIGILLon other CPUs).build.shskips cmake ifsrc/RandomX/build/exists — delete it before rebuilding. - Version stamped to 1.3.0 — derived from
configure.ac; container builds now carry a real version instead of-unk. - Windows (mingw) cross-compile builds and links again, and reproducible container release builds are documented for multiple glibc floors (Ubuntu 20.04 / GLIBC 2.29 recommended).
- Man pages and Debian packaging corrected, and the release signing step is documented — prior releases shipped unsigned and were silently refused by the wallet's auto-updater.
- Integration test harness revived —
qa/rpc-testswas ported to python3 and its blockers fixed, so automated tests can start a DragonX node at last. - Regtest isolated from the live network — mainnet seeds are no longer injected on
-regtest/-testnet, and-checkpointsdefaults off on regtest so an isolated node leaves IBD. Mainnet checkpointing is unchanged.
Internal / Code Quality
- ~7,600-line hygiene cleanup — removed a never-built Komodo DEX, Equihash/staking-era dead paths, and debug cruft (no consensus values changed; re-validated with
verifychain), alongside a batch of audit-found latent-defect fixes and auto-op scheduling/bounds hardening.
Upgrade Notes
- Non-partitioning upgrade — PROTOCOL_VERSION 2000001 / MIN_PEER_PROTO_VERSION 2000000; no flag-day, no reindex, no manual action for a normal node.
- New wallets are BIP39 by default — back up the 24-word phrase with
z_exportmnemonic. Existing wallets are never migrated and the format is forward- and backward-compatible;-usemnemonic=0opts out. - Auto-shield-coinbase is default-ON for known-recoverable wallets — flags:
-autoshield(0/1),-autoshieldaddress=<zaddr>,-autoshieldinterval(default 25, min 5),-autoshieldfee(default 10000 puposhis),-autoshieldminutxos(default 1);z_autoshieldstatusreports state and adisabled_reason. Legacy/seedless wallets stay OFF until you back up the seed and pass-autoshield=1. - Stratum is opt-in —
-stratum+-stratumallowip,-stratumtarget=<hex>; needs a RandomX-aware client. - Self-builders must clear
src/RandomX/build/before rebuilding to pick up the portable RandomX.
Key Features
- Fully private from genesis — transparent outputs disabled at consensus (
ac_private=1, Sapling from height 1); funds exist only as shielded z2z transactions. - RandomX proof-of-work — CPU-mineable, ASIC-resistant.
- BIP39 24-word seed phrases — new wallets recoverable from a standard mnemonic, restorable in SilentDragonXLite or any compatible wallet.
- Automatic coinbase shielding — mining rewards drain to a seed-recoverable shielded address on their own.
- RandomX pool mining over Stratum — external pool mining with a reference miner.
- Encrypted P2P — TLS 1.3 via WolfSSL; anonymous networking via built-in Tor, i2p, and cjdns.
Checksums
File SHA-256 dragonx-1.3.0-linux-amd64.zip 212f9f2ef947cee5d51bc685e976dd7df726dff6cbe51c3531c7c9bb5efe0753dragonx-1.3.0-macos.zip 5b71f649bd999842df8f59a22e05519876a3dcfec032e22fd5bb06aa5af5ec6fdragonx-1.3.0-win64.zip cb8ced8160a5e42003cca2d9c60eb8b03e6edb9efb41d05965d1fb447149a7c3License
DragonX is released under the GNU General Public License v3 (GPLv3).
Copyright © 2024-2026 The DragonX Developers
Downloads
- New wallets default to a BIP39 24-word seed phrase — BIP39 support shipped in v1.0.3; new wallets now use it by default instead of a random seed, so they can be backed up as 24 words (