The tree stamped 1.2.0 in both configure.ac and src/clientversion.h, but
v1.2.0 is an annotated tag already pushed at fad05d3ab and dev is 27
commits past it. Both trees therefore produced CLIENT_VERSION 1020050 and
announced an identical /DragonX:1.2.0/ subversion, so a released binary
would have been indistinguishable from the tag on the wire, in
getnetworkinfo, and to the wallet's in-app updater -- destroying the only
provenance check users have: build the tag, compare the binary.
Bump MINOR rather than REVISION: the delta since v1.2.0 adds a subsystem
(RandomX stratum) and a new RPC (stratummine).
configure.ac, src/clientversion.h 1.2.0 -> 1.3.0 (CLIENT_VERSION 1030050)
doc/man/*.1 version strings restamped
contrib/debian/changelog 1.3.0 entry for the 27 commits
src/chain.h stale "CLIENT_VERSION is 1010050" comment
Man page *content* still needs a real regeneration: util/gen-manpages.sh
requires help2man and built 1.3.0 binaries, so it belongs in the release
build, where it will also pick up the new stratum options.
doc/release-process.md is why v1.1.0 and v1.2.0 were tagged but never
became releases. Followed verbatim it produced a release the wallet
refuses to install:
- it directed releases to a branch named `dragonx`, which does not
exist; releases are cut on `master`
- it never once mentioned signing, yet the updater pins an ed25519 key
and sets kDaemonRequireSignature = true, so an unsigned release is
refused outright and every user silently stays on their old daemon
- it did not require the release tag to be annotated, and genbuild.sh
calls `git describe` without --tags, so a lightweight tag stamps the
build `v<older-tag>-<sha>` instead of the release version -- which is
exactly what happened to v1.0.0 through v1.0.3
- it referenced util/build-debian-package-ARM.sh, which is not in tree
Adds the signing and checksum-table steps, the annotated-tag requirement
with a `git describe` verification, and the rule that a new version must
exceed every existing tag including unpublished ones.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FU87LdsJZiZkfq1eXubpeo
DragonX Contrib
This directory contains various supporting tools and scripts. Much of this is old material inherited from the Bitcoin/Zcash/Komodo/Hush lineage, so not every script is guaranteed to work. Please fix bugs and report anything you find.
DragonX Tools
block_time.pl
Estimate when a DragonX block will happen.
Example:
./contrib/block_time.pl 123456 # Print out datetime of when block height 123456 happens
gen-zaddrs.pl
Generate zaddrs in bulk, by default 50 at a time. Prints out a zaddr one per line. Useful on a fully-private chain where shielded addresses are the norm.
Example:
./contrib/gen-zaddrs.pl # generate 50 zaddrs
./contrib/gen-zaddrs.pl 500 # generate 500 zaddrs
Repository Tools
Verify-Commits
Tool to verify that merge commits were signed by a developer.
Linearize
Construct a linear, no-fork, best version of the blockchain.
Qos
A Linux bash script that sets up traffic control (tc) to limit the outgoing bandwidth for connections to the DragonX network. This lets you run an always-on dragonxd instance and have another local dragonxd connect to it and receive blocks from it.
Seeds
Utility to generate the seed node array that is compiled into the client.
Build Tools and Keys
Debian
Contains files used to package dragonxd for Debian-based Linux systems.
Gitian-descriptors
Legacy notes on getting gitian builds running. Note that the real DragonX build
path is ./build.sh together with the depends/ system; gitian is legacy.
Gitian-downloader
Various PGP files of developers.
MacDeploy
Scripts and notes for Mac builds.
Test and Verify Tools
TestGen
Utilities to generate test vectors for the data-driven base58 tests.
Verify SF Binaries
Legacy SourceForge-era signature verification script (unused for DragonX).