Rebrand hush3 to DragonX and share RandomX dataset across mining threads

Minimal rebrand (see compliant-rebrand branch for full rebrand):
- Rename binaries: hushd/hush-cli/hush-tx → dragonxd/dragonx-cli/dragonx-tx
- Default to DRAGONX chain params without -ac_* flags (randomx, blocktime=36, private=1)
- Update configure.ac: AC_INIT([DragonX],[1.0.0])
- Update client version string and user-agent to /DragonX:1.0.0/
- Add chainparams.cpp with DRAGONX network parameters
- Update build.sh, miner.cpp, pow.cpp for DragonX
- Add bootstrap-dragonx.sh utility script
- Update .gitignore for release directory

Share single RandomX dataset across all mining threads:
- Add RandomXDatasetManager with readers-writer lock, reducing RAM from
  ~2GB per thread to ~2GB total plus ~2MB per thread for the VM scratchpad
- Add LogProcessMemory() diagnostic helper for Linux and Windows
This commit is contained in:
2026-03-03 17:00:49 -06:00
parent d6ba1aed4e
commit 85c8d7f7dd
27 changed files with 3668 additions and 243 deletions

View File

@@ -94,11 +94,11 @@ noinst_PROGRAMS =
TESTS =
#if BUILD_BITCOIND
bin_PROGRAMS += hushd
bin_PROGRAMS += dragonxd
#endif
if BUILD_BITCOIN_UTILS
bin_PROGRAMS += hush-cli hush-tx
bin_PROGRAMS += dragonx-cli dragonx-tx
endif
if ENABLE_WALLET
bin_PROGRAMS += wallet-utility
@@ -453,16 +453,16 @@ nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h
#
# hushd binary #
hushd_SOURCES = bitcoind.cpp
hushd_CPPFLAGS = -fPIC $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
hushd_CXXFLAGS = -fPIC $(AM_CXXFLAGS) $(PIE_FLAGS)
hushd_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
dragonxd_SOURCES = bitcoind.cpp
dragonxd_CPPFLAGS = -fPIC $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
dragonxd_CXXFLAGS = -fPIC $(AM_CXXFLAGS) $(PIE_FLAGS)
dragonxd_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
if TARGET_WINDOWS
hushd_SOURCES += bitcoind-res.rc
dragonxd_SOURCES += bitcoind-res.rc
endif
hushd_LDADD = \
dragonxd_LDADD = \
$(LIBBITCOIN_SERVER) \
$(LIBBITCOIN_COMMON) \
$(LIBUNIVALUE) \
@@ -476,10 +476,10 @@ hushd_LDADD = \
$(LIBRANDOMX)
if ENABLE_WALLET
hushd_LDADD += $(LIBBITCOIN_WALLET)
dragonxd_LDADD += $(LIBBITCOIN_WALLET)
endif
hushd_LDADD += \
dragonxd_LDADD += \
$(BOOST_LIBS) \
$(BDB_LIBS) \
$(SSL_LIBS) \
@@ -490,27 +490,27 @@ hushd_LDADD += \
$(LIBZCASH_LIBS)
if TARGET_DARWIN
hushd_LDADD += libcc.dylib $(LIBSECP256K1)
dragonxd_LDADD += libcc.dylib $(LIBSECP256K1)
endif
if TARGET_WINDOWS
hushd_LDADD += libcc.dll $(LIBSECP256K1)
dragonxd_LDADD += libcc.dll $(LIBSECP256K1)
endif
if TARGET_LINUX
hushd_LDADD += libcc.so $(LIBSECP256K1)
dragonxd_LDADD += libcc.so $(LIBSECP256K1)
endif
# [+] Decker: use static linking for libstdc++.6.dylib, libgomp.1.dylib, libgcc_s.1.dylib
if TARGET_DARWIN
hushd_LDFLAGS += -static-libgcc
dragonxd_LDFLAGS += -static-libgcc
endif
# hush-cli binary #
hush_cli_SOURCES = bitcoin-cli.cpp
hush_cli_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CFLAGS)
hush_cli_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
hush_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
dragonx_cli_SOURCES = bitcoin-cli.cpp
dragonx_cli_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CFLAGS)
dragonx_cli_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
dragonx_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
if TARGET_DARWIN
hush_cli_LDFLAGS += -static-libgcc
dragonx_cli_LDFLAGS += -static-libgcc
endif
# wallet-utility binary #
@@ -522,10 +522,10 @@ wallet_utility_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
endif
if TARGET_WINDOWS
hush_cli_SOURCES += bitcoin-cli-res.rc
dragonx_cli_SOURCES += bitcoin-cli-res.rc
endif
hush_cli_LDADD = \
dragonx_cli_LDADD = \
$(LIBBITCOIN_CLI) \
$(LIBUNIVALUE) \
$(LIBBITCOIN_UTIL) \
@@ -554,16 +554,16 @@ wallet_utility_LDADD = \
endif
# hush-tx binary #
hush_tx_SOURCES = hush-tx.cpp
hush_tx_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
hush_tx_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
hush_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
dragonx_tx_SOURCES = hush-tx.cpp
dragonx_tx_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
dragonx_tx_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
dragonx_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
if TARGET_WINDOWS
hush_tx_SOURCES += bitcoin-tx-res.rc
dragonx_tx_SOURCES += bitcoin-tx-res.rc
endif
hush_tx_LDADD = \
dragonx_tx_LDADD = \
$(LIBUNIVALUE) \
$(LIBBITCOIN_COMMON) \
$(LIBBITCOIN_UTIL) \
@@ -574,7 +574,7 @@ hush_tx_LDADD = \
$(LIBZCASH_LIBS) \
$(LIBRANDOMX)
hush_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
dragonx_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
# Zcash Protocol Primitives
libzcash_a_SOURCES = \