• v1.1.0 d12e7dc99d

    DragonX v1.1.0

    DanS released this 2026-08-23 10:47:19 -05:00 | 69 commits to master since this release

    Sync performance release, rebased onto the upstream dev rebrand cleanup.

    The headline change is data, not code: the DRAGONX checkpoint table now reaches
    3,226,000, enabling the RandomX skip that RandomXValidationRequired() has always
    implemented but never been able to use -- the table previously ended at
    2,838,000, which is 976 blocks below the RandomX activation height, leaving the
    window empty.

    Measured on an isolated datadir syncing bootstrap -> tip on an EPYC seed:
    below the top checkpoint (RandomX skipped): 91.3 blk/s
    at/above it (RandomX verified): 4.7 blk/s
    ~19x at the boundary. For the RandomX era on that hardware class, roughly
    23 hours down to about 1.5 hours.

    Correctness, independently checked on the pre-rebase tree:

    • gettxoutsetinfo BYTE-IDENTICAL to a live node at height 3,232,101
    • synced through all 388 new checkpoints with zero rejections
    • 32 getblockhash comparisons across the newly checkpointed range: identical

    Also in this release:

    • RandomX verify-once dedup is now armed only when CheckBlockHeader actually
      verified the solution, closing a hole where a block timestamped 60-300s in
      the future skipped its only PoW check and its sender escaped being banned.
    • RandomX is built with ARCH=default rather than ARCH=native. A native build
      on the Zen4 pool box emitted 746 AVX-512 instructions into librandomx.a,
      which SIGILLs on every seed in the fleet and on any older user CPU.
    • Git-less builds no longer identify themselves as a 2018 Komodo commit.
    • The mingw -Wa,-mbig-obj flag is restored (merged from the release line).
      Without it the Windows cross-compile fails at link on "dangerous relocation"
      in .pdata, so v1.1.0 could not produce a win64 binary before this.

    Trust model: a from-scratch sync no longer independently re-verifies proof of
    work, Sapling proofs, or signatures for 387,024 blocks; it trusts the shipped
    checkpoint hashes instead. Those were generated on a continuously-synced node
    and cross-checked against four other full nodes, in both directions. Anyone
    wanting trustless-from-genesis can pass -checkpoints=0.

    NOT YET BUILT FOR WINDOWS: the flag above is restored by inspection; the mingw
    cross-compile has not been run against this tree.

    Downloads