libsodium's autogen.sh fetches config.sub/config.guess from git.savannah.gnu.org
gitweb, which is frequently down (currently returns 502). curl saved the HTML
error page over config.sub, so libsodium's configure died with
"cannot run /bin/bash ./build-aux/config.sub" and the whole build failed.
autoreconf -ivf (run earlier in autogen.sh) already installs valid config.sub/
config.guess from the build host, so set DO_NOT_UPDATE_CONFIG_SCRIPTS=1 (the
script's own opt-out) to skip the fragile download. Validated: the full build
now completes and produces working dragonxd/dragonx-cli/dragonx-tx.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Follow-up to the doc rebrand, addressing the previously out-of-scope legacy:
- Currency unit: strCurrencyUnits (chainparams.cpp) and CURRENCY_UNIT
(amount.cpp) "HUSH" -> "DRAGONX". Both are display-only (RPC help + metrics);
no logic comparisons, verified.
- depends mirrors: libsodium/boost/utfcpp fetched from git.hush.is/attachments;
repointed to canonical upstream (GitHub release / archives.boost.io / GitHub
tag) with the existing sha256 hashes verified to match those sources.
- Seeds: nodes_main.txt now lists the five node[1-5].dragonx.is IPs (DNS-resolved)
instead of Hush nodes; regenerated src/chainparamsseeds.h (was compiling Hush
seed IPs as the fixed fallback); generate-seeds.py header now says DragonX;
hush_seed_nodes.txt updated to DragonX seeds.
- Deleted Hush-history / wrong-for-DragonX files: contrib/snapshot/ (block-500000
Hush airdrop, ~10MB), notary_seeds.txt (Hush notaries; DragonX isn't notarized),
and the Hush emission scripts hush_supply, hush_supply_old, hush_halvings,
hush_block_subsidy_per_halving (hardcode Hush's 340000/12.5 economics).
Kept: hush_scanner (engine invoked by dragonx_scanner) and the "The Hush
developers" copyright headers (lineage credit).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Update compiler references from gcc-8 to gcc-15 across build system
(build-mac.sh, darwin.mk, Makefile_custom)
- Use system Rust (rustup) instead of bundled Rust 1.32.0 for librustzcash
to fix rlib linker incompatibility on macOS Sequoia
- Replace deprecated std::random_shuffle with std::shuffle (net.cpp,
transaction_builder.cpp, wallet.cpp)
- Fix -std=gnu17 -> -std=gnu++17 for C++ targets (libzcash, libhush)
- Fix nodiscard warning in glibcxx_sanity.cpp
- Replace deprecated OSMemoryBarrier with std::atomic_thread_fence in LevelDB
- Add -Wno-error=deprecated-declarations to CXXFLAGS for third-party headers
- Fix REMAINING_ARGS unbound variable in build.sh
- Add --disable-tests handling to build-mac.sh
- Update README with correct macOS build dependencies and instructions
Long ago our code actually used gmp directly but that is no longer the case.
Our dependency secp256k1 has an optional dependency on gmp but the way we
configure and compile secp256k1 does not use it. So there is no reason
to download and compile gmp in our build system. This means we no longer
need to maintain three different forks of GMP (one for Darwin, one for Win and
one for Linux that supports gcc15). This also makes downloading and compiling
Hush faster. Joy to the world.
This was a bug we inherited from BTC which causes some dependencies to
be built without optimization essentially replacing -O2 -pipe with
-O0 because cxxflags is assigned to instead of appended to.
We no longer have zeromq so for us this fixes the fact that bdb is being
compiled without optimization.
https://github.com/bitcoin/bitcoin/pull/22840
According to current boost docs, not specifying -j parameter will default to using all cores to compile,
so removing these should speed up compiling boost. This code dates back to 2014 when the default
may have been a single core, so it was specified.