-
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 (
-
DragonX v1.0.3 Stable
released this
2026-07-23 20:06:47 -05:00 | 73 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 primarily a security and performance release. It hardens consensus and P2P against a broad set of denial-of-service and inflation vectors, significantly speeds up initial block download (IBD), fixes a Sapling witness desync in the wallet, and completes the DragonX rebrand across documentation, packaging, and helper scripts. All node operators are encouraged to upgrade.
Security & Consensus Hardening
- Reject Sprout JoinSplits — closes an unverified-proof /
vpub_newinflation vector. - Chain-level Sapling turnstile — reject any block that would drive the shielded pool balance negative, preventing supply inflation.
- Enforce
nMinimumChainWorkduring IBD — protects against eclipse and low-work fake-chain attacks. - Header-flood DoS protections — verify RandomX PoW at header-accept once synced, at the correct height, and cap the number of headers accepted per peer during IBD.
- Real DoS scoring for invalid headers (previously always scored as 1).
- Bound mempool memory via
-maxmempool, and restore theremoveExpired()mempool scan (previously a no-op that allowed unbounded mempool growth) — closes two OOM DoS vectors. - Bound OP_RETURN length and clamp the notary-pubkeys array in consensus validation.
- Crash-DoS and memory-safety fixes: guard a NULL
pindexdereference in chain validation; guardBuildWitnessCacheagainst an off-active-chainpindex(heap overflow); bound nSPV request buffers and fix an uninitialized fee / null-deref; hardenProcessGetDataandThreadNotifyWalletsto log-and-disconnect instead of asserting. - Self-heal a corrupt/torn notarizations DB instead of aborting startup.
- Concurrency & TLS fixes: make
nCoinCacheUsageatomic (adaptive-dbcache data race); evaluatewolfSSL_pending()under the socket lock in the receive-drain loop. - RPC hardening: guard
z_validateaddressagainst a null wallet under-disablewallet.
Sync & Performance
- Faster IBD: parallel RandomX pre-verification, adaptive
-dbcache, and P2P download-path fixes. Each block's RandomX solution is now verified once during sync instead of twice. - Opt-in bulk block streaming (
-bulkblocksync) for faster initial sync. - New
-maxblocksintransit— tunable per-peer block-download window. - Adaptive
-dbcacheceiling raised to 64 GiB on 64-bit hosts, with the block-tree cache capped so the adaptive cache feeds the UTXO set; the RandomX pre-verify cache is now released at shutdown. - Graceful handling of
ReadBlockFromDiskfailures during IBD.
Wallet
- Fix Sapling witness desync and parallelize the witness-cache rebuild — resolves merge/send failures caused by a corrupt note witness.
- Reserve the miner fee during
z_sendmanynote selection so sends no longer fail on insufficient funds at the last step. - BIP39 seed phrases (SilentDragonXLite-compatible) and HD transparent keys, so wallets can be restored across compatible DragonX wallets (mainnet).
opreturn_burn: correctly return change and widen the tx fee toCAmount.
New Features & Behavior Changes
- Fee-ordered mempool eviction (
TrimToSize/expiry) with fee-based displacement on admission. - Removed the
assumeutxo/ UTXO-snapshot feature.
Packaging, Build & Rebrand
- Completed the DragonX rebrand across all documentation, packaging, and helper scripts (RandomX not Equihash; private-from-genesis;
dragonxd/dragonx-cli/dragonx-tx,~/.hush/DRAGONX,DRAGONX.conf). Currency unit is nowDRAGONX; dependency mirrors repointed to canonical upstreams; seed nodes point atnode[1-5].dragonx.is. - Fixed the
dragonx-cli -rpcporthelp default (18030→21769). - Build fixes: work around a libsodium
config.subfetch failure (git.savannah.gnu.org 502); add-Wa,-mbig-objfor the MinGW Windows cross-compile; make the version probe SIGPIPE-safe; fix-lcurlportability. The Debian package build no longer fails when the optionallintiantool is absent.
Upgrade Notes
- All nodes should upgrade — this release includes DoS/crash fixes and consensus-safety hardening. No reindex or manual action is required for a normal node.
- New/changed runtime options:
-bulkblocksync,-maxblocksintransit,-maxmempool(now enforced), and a higher adaptive-dbcacheceiling on 64-bit hosts.
Key Features
- RandomX Proof-of-Work — CPU-mineable, ASIC-resistant mining algorithm
- Sapling zk-SNARKs — zero-knowledge proofs for fully private transactions
- Private from genesis — transparent outputs disabled at the consensus level; all transactions are shielded (z2z)
- Encrypted P2P — all connections secured with TLS 1.3 via WolfSSL (AES-256-GCM and ChaCha20-Poly1305)
- Anonymous networking — built-in Tor, i2p, and cjdns support
- Passive network spy protection — prevents ISPs and observers from identifying transaction origins
Checksums
File SHA-256 dragonx-1.0.3-linux-amd64.zip 9f1b146b8f45434b910cf5ee65c283f06dcb28ac0002a9afd371008a9256a6a9dragonx-1.0.3-macos.zip b120748c356e8c654d78ea5c3b88a901074dd79ffbf99bd4b956c6447548ba09dragonx-1.0.3-win64.zip 4929be6566a5cdea077933569fde5c5217cc16646740d451ab812c22d296b2eaLicense
DragonX is released under the GNU General Public License v3 (GPLv3).
Copyright © 2024-2026 The DragonX Developers
Downloads
- Reject Sprout JoinSplits — closes an unverified-proof /
-
Dragonx v1.0.2 Stable
released this
2026-03-19 10:09:18 -05:00 | 130 commits to master since this releaseWhat is DragonX?
DragonX is a privacy-focused cryptocurrency built on zero-knowledge mathematics. It uses the
Sapling protocol for shielded transactions and enforces mandatory z2z (shielded-to-shielded)
transactions after block 340,000, meaning funds can only be sent to shielded z-addresses at
the consensus level.Bug Fixes
- Fix sapling pool persistence — pool total no longer resets to 0 on node restart. Explorer nodes should reindex once after upgrading.
New Features
- Add
subsidyandfeesfields to thegetblockRPC response so explorers can display the correct 3 DRGX block reward separately from fees
Key Features
- RandomX Proof-of-Work — CPU-mineable, ASIC-resistant mining algorithm
- Sapling zk-SNARKs — zero-knowledge proofs for fully private transactions
- Mandatory shielded transactions — z2z enforced at consensus after block 340,000
- Encrypted P2P — all connections secured with TLS 1.3 via WolfSSL (AES-256-GCM and ChaCha20-Poly1305)
- Anonymous networking — built-in Tor, i2p, and cjdns support
- Passive network spy protection — prevents ISPs and observers from identifying transaction origins
Checksums
File SHA-256 dragonx-1.0.2-linux-amd64.zip 85f1dd908bfbdee6aaebabdc74848dc8963d45e7510172d84d0230c0fad6cc16dragonx-1.0.2-macos.zip 102e1f1ecab05def25465ad4867b19d46c7cc00a9fbb018ffb405bcb82cc6432dragonx-1.0.2-win64.zip dd6a554ac05c834da9910ae796215567e97c426f3aed15b54af1f7b90d48c43aLicense
DragonX is released under the GNU General Public License v3 (GPLv3).
Copyright © 2024-2026 The DragonX Developers
Downloads
-
Dragonx v1.0.1 Stable
released this
2026-03-12 01:27:06 -05:00 | 135 commits to master since this releaseWhat is DragonX?
DragonX is a privacy-focused cryptocurrency built on zero-knowledge mathematics. It uses the
Sapling protocol for shielded transactions and enforces mandatory z2z (shielded-to-shielded)
transactions after block 340,000, meaning funds can only be sent to shielded z-addresses at
the consensus level.Bug Fixes
- Fix fresh sync failure at diff reset height 2838976
Key Features
- RandomX Proof-of-Work — CPU-mineable, ASIC-resistant mining algorithm
- Sapling zk-SNARKs — zero-knowledge proofs for fully private transactions
- Mandatory shielded transactions — z2z enforced at consensus after block 340,000
- Encrypted P2P — all connections secured with TLS 1.3 via WolfSSL (AES-256-GCM and ChaCha20-Poly1305)
- Anonymous networking — built-in Tor, i2p, and cjdns support
- Passive network spy protection — prevents ISPs and observers from identifying transaction origins
Checksums
File SHA-256 dragonx-1.0.1-linux-amd64.zip e543dc9cb733877bc53f8526ae60b744d15c82b40005349e04cefd88a3757a6fdragonx-1.0.1-win64.zip 428a1567d962d7594b16ad9ae4081752102a578912990e580d7245a4f5607d4cLicense
DragonX is released under the GNU General Public License v3 (GPLv3).
Copyright © 2024-2026 The DragonX Developers
Downloads