diff --git a/AUTHORS b/AUTHORS
index 54de6e03c..c0a1c7747 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,3 +1,7 @@
+# The DragonX Developers
+
+Dan S https://git.dragonx.is/dan
+
# The Hush Developers
Duke Leto https://git.hush.is/duke https://github.com/leto
diff --git a/COPYING b/COPYING
index c8e0c34c2..ddeda533f 100644
--- a/COPYING
+++ b/COPYING
@@ -1,3 +1,4 @@
+Copyright (c) 2024-2026 The DragonX developers
Copyright (c) 2018-2025 The Hush developers
Copyright (c) 2009-2017 The Bitcoin Core developers
Copyright (c) 2009-2018 Bitcoin Developers
diff --git a/LICENSE b/LICENSE
index febd8b6d9..bc08fe2e4 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
- GENERAL GENERAL PUBLIC LICENSE
+ GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
@@ -7,15 +7,15 @@
Preamble
- The GENERAL General Public License is a free, copyleft license for
+ The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
-the GENERAL General Public License is intended to guarantee your freedom to
+the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
-GENERAL General Public License for most of our software; it applies also to
+GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
@@ -37,7 +37,7 @@ freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
- Developers that use the GENERAL GPL protect your rights with two steps:
+ Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
@@ -72,7 +72,7 @@ modification follow.
0. Definitions.
- "This License" refers to version 3 of the GENERAL General Public License.
+ "This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
@@ -549,35 +549,35 @@ to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
- 13. Use with the GENERAL Affero General Public License.
+ 13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
-under version 3 of the GENERAL Affero General Public License into a single
+under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
-but the special requirements of the GENERAL Affero General Public License,
+but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
-the GENERAL General Public License from time to time. Such new versions will
+the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GENERAL General
+Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
-GENERAL General Public License, you may choose any version ever published
+GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
-versions of the GENERAL General Public License can be used, that proxy's
+versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
diff --git a/contrib/debian/changelog b/contrib/debian/changelog
index 0afb9c9d7..a01385923 100644
--- a/contrib/debian/changelog
+++ b/contrib/debian/changelog
@@ -1,3 +1,12 @@
+dragonx (1.0.0) stable; urgency=medium
+
+ * Initial release of DragonX, forked from Hush Full Node
+ * Full legal-compliant rebrand: binaries, config, documentation
+ * RandomX proof-of-work, 36-second block time, fully shielded transactions
+ * New binary names: dragonxd, dragonx-cli, dragonx-tx
+
+ -- DragonX Mon, 03 Mar 2026 00:00:00 +0000
+
hush (3.10.5) stable; urgency=medium
* DragonX is no longer supported by this codebase
diff --git a/contrib/debian/control b/contrib/debian/control
index 0402371c0..1dd3c1917 100644
--- a/contrib/debian/control
+++ b/contrib/debian/control
@@ -1,18 +1,18 @@
-Source: hush
+Source: dragonx
Section: utils
Priority: optional
-Maintainer: Hush
-Homepage: https://hush.is
+Maintainer: DragonX
+Homepage: https://dragonx.is
Build-Depends: autoconf, automake, bsdmainutils, build-essential,
cmake, curl, git, g++-multilib, libc6-dev, libsodium-dev,
libtool, m4, ncurses-dev, pkg-config, python,
unzip, wget, zlib1g-dev
-Vcs-Git: https://git.hush.is/hush/hush3.git
-Vcs-Browser: https://git.hush.is/hush/hush3
+Vcs-Git: https://git.dragonx.is/DragonX/dragonx.git
+Vcs-Browser: https://git.dragonx.is/DragonX/dragonx
-Package: hush
+Package: dragonx
Architecture: amd64 arm64
Depends: ${shlibs:Depends}
-Description: Cryptocoin full node for Hush
- Speak And Transact Freely with Hush, which inherits from Bitcoin Protocol and
- Zcash Protocol and is focused on private communications.
+Description: Privacy-focused cryptocurrency full node for DragonX
+ DragonX is a privacy-focused cryptocurrency using RandomX proof-of-work.
+ All transactions are shielded by default. Fork of the Hush Full Node.
diff --git a/contrib/debian/copyright b/contrib/debian/copyright
index b9fdca286..aee87ab30 100644
--- a/contrib/debian/copyright
+++ b/contrib/debian/copyright
@@ -1,8 +1,9 @@
Files: *
-Copyright: 2016-2026, The Hush developers
+Copyright: 2024-2026, The DragonX developers
+ 2016-2026, The Hush developers
2009-2016, Bitcoin Core developers
License: GPLv3
-Comment: https://hush.is
+Comment: https://dragonx.is
Files: depends/sources/libsodium-*.tar.gz
Copyright: 2013-2016 Frank Denis
diff --git a/contrib/debian/dragonx.example b/contrib/debian/dragonx.example
new file mode 100644
index 000000000..e54e8a817
--- /dev/null
+++ b/contrib/debian/dragonx.example
@@ -0,0 +1 @@
+DEBIAN/examples/DRAGONX.conf
diff --git a/contrib/debian/dragonx.install b/contrib/debian/dragonx.install
new file mode 100644
index 000000000..a79293ac4
--- /dev/null
+++ b/contrib/debian/dragonx.install
@@ -0,0 +1,3 @@
+usr/bin/dragonxd
+usr/bin/dragonx-cli
+usr/bin/dragonx-tx
diff --git a/contrib/debian/dragonx.manpages b/contrib/debian/dragonx.manpages
new file mode 100644
index 000000000..f4a5b20c9
--- /dev/null
+++ b/contrib/debian/dragonx.manpages
@@ -0,0 +1,3 @@
+DEBIAN/manpages/dragonx-cli.1
+DEBIAN/manpages/dragonx-tx.1
+DEBIAN/manpages/dragonxd.1
diff --git a/contrib/debian/examples/DRAGONX.conf b/contrib/debian/examples/DRAGONX.conf
new file mode 100644
index 000000000..a9d275f3f
--- /dev/null
+++ b/contrib/debian/examples/DRAGONX.conf
@@ -0,0 +1,209 @@
+## DRAGONX.conf configuration file. Lines beginning with # are comments.
+
+# Network-related settings:
+
+# Run a regression test network
+#regtest=0
+# Run a test node (which means you can mine with no peers)
+#testnode=1
+
+#set a custom client name/user agent
+#clientName=GoldenSandtrout
+
+# Rescan from block height
+#rescan=123
+
+# Connect via a SOCKS5 proxy
+#proxy=127.0.0.1:9050
+
+# Automatically create Tor hidden service
+#listenonion=1
+
+#Use separate SOCKS5 proxy to reach peers via Tor hidden services
+#onion=1.2.3.4:9050
+
+# Only connect to nodes in network (ipv4, ipv6, onion or i2p)"));
+#onlynet=
+
+#Tor control port to use if onion listening enabled
+#torcontrol=127.0.0.1:9051
+
+# Bind to given address and always listen on it. Use [host]:port notation for IPv6
+#bind=
+
+# Bind to given address and allowlist peers connecting to it. Use [host]:port notation for IPv6
+#allowbind=
+
+##############################################################
+## Quick Primer on addnode vs connect ##
+## Let's say for instance you use addnode=4.2.2.4 ##
+## addnode will connect you to and tell you about the ##
+## nodes connected to 4.2.2.4. In addition it will tell ##
+## the other nodes connected to it that you exist so ##
+## they can connect to you. ##
+## connect will not do the above when you 'connect' to it. ##
+## It will *only* connect you to 4.2.2.4 and no one else.##
+## ##
+## So if you're behind a firewall, or have other problems ##
+## finding nodes, add some using 'addnode'. ##
+## ##
+## If you want to stay private, use 'connect' to only ##
+## connect to "trusted" nodes. ##
+## ##
+## If you run multiple nodes on a LAN, there's no need for ##
+## all of them to open lots of connections. Instead ##
+## 'connect' them all to one node that is port forwarded ##
+## and has lots of connections. ##
+## Thanks goes to [Noodle] on Freenode. ##
+##############################################################
+
+# Use as many addnode= settings as you like to connect to specific peers
+#addnode=69.164.218.197
+#addnode=10.0.0.2:8233
+
+# Alternatively use as many connect= settings as you like to connect ONLY to specific peers
+#connect=69.164.218.197
+#connect=10.0.0.1:8233
+
+# Listening mode, enabled by default except when 'connect' is being used
+#listen=1
+
+# Maximum number of inbound+outbound connections.
+#maxconnections=
+
+#
+# JSON-RPC options (for controlling a running dragonxd process)
+#
+
+# server=1 tells node to accept JSON-RPC commands (set as default if not specified)
+#server=1
+
+# Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6.
+# This option can be specified multiple times (default: bind to all interfaces)
+#rpcbind=
+
+# You must set rpcuser and rpcpassword to secure the JSON-RPC api
+# These will automatically be created for you
+#rpcuser=user
+#rpcpassword=supersecretpassword
+
+# How many seconds node will wait for a complete RPC HTTP request.
+# after the HTTP connection is established.
+#rpcclienttimeout=30
+
+# By default, only RPC connections from localhost are allowed.
+# Specify as many rpcallowip= settings as you like to allow connections from other hosts,
+# either as a single IPv4/IPv6 or with a subnet specification.
+
+# NOTE: opening up the RPC port to hosts outside your local trusted network is NOT RECOMMENDED,
+# because the rpcpassword is transmitted over the network unencrypted and also because anyone
+# that can authenticate on the RPC port can steal your keys + take over the account running dragonxd
+
+#rpcallowip=10.1.1.34/255.255.255.0
+#rpcallowip=1.2.3.4/24
+#rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96
+
+# Listen for RPC connections on this TCP port:
+#rpcport=1234
+
+# You can use dragonxd to send commands to dragonxd
+# running on another host using this option:
+#rpcconnect=127.0.0.1
+
+# Transaction Fee
+
+# Send transactions as zero-fee transactions if possible (default: 0)
+#sendfreetransactions=0
+
+# Create transactions that have enough fees (or priority) so they are likely to # begin confirmation within n blocks (default: 1).
+# This setting is overridden by the -paytxfee option.
+#txconfirmtarget=n
+
+# Miscellaneous options
+
+# Enable mining at startup
+#gen=1
+
+# Set the number of threads to be used for mining (-1 = all cores).
+#genproclimit=1
+
+# Specify a different Equihash solver (e.g. "tromp") to try to mine
+# faster when gen=1.
+#equihashsolver=default
+
+# Pre-generate this many public/private key pairs, so wallet backups will be valid for
+# both prior transactions and several dozen future transactions.
+#keypool=100
+
+# Pay an optional transaction fee every time you send a tx. Transactions with fees
+# are more likely than free transactions to be included in generated blocks, so may
+# be validated sooner. This setting does not affect private transactions created with
+# 'z_sendmany'.
+#paytxfee=0.00
+
+#Rewind the chain to specific block height. This is useful for creating snapshots at a given block height.
+#rewind=555
+
+#Stop the chain a specific block height. This is useful for creating snapshots at a given block height.
+#stopat=1000000
+
+#Set an address to use as change address for all transactions. This value must be set to a 33 byte pubkey. All mined coins will also be sent to this address.
+#pubkey=027dc7b5cfb5efca96674b45e9fda18df069d040b9fd9ff32c35df56005e330392
+
+# Disable clearnet (ipv4 and ipv6) connections to this node
+#clearnet=0
+
+# Disable ipv4
+#disableipv4=1
+# Disable ipv6
+#disableipv6=1
+
+# Enable transaction index
+#txindex=1
+# Enable address index
+#addressindex=1
+# Enable timestamp index
+#timestampindex=1
+# Enable spent index
+#spentindex=1
+
+# Enable shielded stats index
+#zindex=1
+
+# Attempt to salvage a corrupt wallet
+# salvagewallet=1
+
+# Mine all blocks to this address (not good for your privacy and not recommended!)
+# Disallowed if clearnet=0
+# mineraddress=XXX
+
+# Disable wallet
+#disablewallet=1
+
+# Allow mining to an address that is not in the current wallet
+#minetolocalwallet=0
+
+# Delete all wallet transactions
+#zapwallettxes=1
+
+# Enable sapling consolidation
+# consolidation=1
+
+# Enable stratum server
+# stratum=1
+
+# Run a command each time a new block is seen
+# %s in command is replaced by block hash
+#blocknotify=/my/awesome/script.sh %s
+
+# Run a command when wallet gets a new tx
+# %s in command is replaced with txid
+#walletnotify=/my/cool/script.sh %s
+
+# Run a command when tx expires
+# %s in command is replaced with txid
+#txexpirynotify=/my/elite/script.sh %s
+
+# Execute this commend to send a tx
+# %s is replaced with tx hex
+#txsend=/send/it.sh %s
diff --git a/contrib/init/dragonxd.conf b/contrib/init/dragonxd.conf
new file mode 100644
index 000000000..e7c451f25
--- /dev/null
+++ b/contrib/init/dragonxd.conf
@@ -0,0 +1,59 @@
+description "Hush Daemon"
+
+start on runlevel [2345]
+stop on starting rc RUNLEVEL=[016]
+
+env HUSHD_BIN="/usr/bin/dragonxd"
+env HUSHD_USER="hush"
+env HUSHD_GROUP="hush"
+env HUSHD_PIDDIR="/var/run/dragonxd"
+# upstart can't handle variables constructed with other variables
+env HUSHD_PIDFILE="/var/run/dragonxd/dragonxd.pid"
+env HUSHD_CONFIGFILE="/etc/hush/hush.conf"
+env HUSHD_DATADIR="/var/lib/dragonxd"
+
+expect fork
+
+respawn
+respawn limit 5 120
+kill timeout 60
+
+pre-start script
+ # this will catch non-existent config files
+ # dragonxd will check and exit with this very warning, but it can do so
+ # long after forking, leaving upstart to think everything started fine.
+ # since this is a commonly encountered case on install, just check and
+ # warn here.
+ if ! grep -qs '^rpcpassword=' "$HUSHD_CONFIGFILE" ; then
+ echo "ERROR: You must set a secure rpcpassword to run dragonxd."
+ echo "The setting must appear in $HUSHD_CONFIGFILE"
+ echo
+ echo "This password is security critical to securing wallets "
+ echo "and must not be the same as the rpcuser setting."
+ echo "You can generate a suitable random password using the following"
+ echo "command from the shell:"
+ echo
+ echo "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'"
+ echo
+ exit 1
+ fi
+
+ mkdir -p "$HUSHD_PIDDIR"
+ chmod 0755 "$HUSHD_PIDDIR"
+ chown $HUSHD_USER:$HUSHD_GROUP "$HUSHD_PIDDIR"
+ chown $HUSHD_USER:$HUSHD_GROUP "$HUSHD_CONFIGFILE"
+ chmod 0660 "$HUSHD_CONFIGFILE"
+end script
+
+exec start-stop-daemon \
+ --start \
+ --pidfile "$HUSHD_PIDFILE" \
+ --chuid $HUSHD_USER:$HUSHD_GROUP \
+ --exec "$HUSHD_BIN" \
+ -- \
+ -pid="$HUSHD_PIDFILE" \
+ -conf="$HUSHD_CONFIGFILE" \
+ -datadir="$HUSHD_DATADIR" \
+ -disablewallet \
+ -daemon
+
diff --git a/contrib/init/dragonxd.init b/contrib/init/dragonxd.init
new file mode 100644
index 000000000..9eda12a62
--- /dev/null
+++ b/contrib/init/dragonxd.init
@@ -0,0 +1,67 @@
+#!/usr/bin/env bash
+#
+# dragonxd The hush core server.
+#
+#
+# chkconfig: 345 80 20
+# description: dragonxd
+# processname: dragonxd
+#
+
+# Source function library.
+. /etc/init.d/functions
+
+# you can override defaults in /etc/sysconfig/dragonxd, see below
+if [ -f /etc/sysconfig/dragonxd ]; then
+ . /etc/sysconfig/dragonxd
+fi
+
+RETVAL=0
+
+prog=dragonxd
+# you can override the lockfile via HUSHD_LOCKFILE in /etc/sysconfig/dragonxd
+lockfile=${HUSHD_LOCKFILE-/var/lock/subsys/dragonxd}
+
+# dragonxd defaults to /usr/bin/dragonxd, override with HUSHD_BIN
+dragonxd=${HUSHD_BIN-/usr/bin/dragonxd}
+
+# dragonxd opts default to -disablewallet, override with HUSHD_OPTS
+dragonxd_opts=${HUSHD_OPTS--disablewallet}
+
+start() {
+ echo -n $"Starting $prog: "
+ daemon $DAEMONOPTS $dragonxd $dragonxd_opts
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && touch $lockfile
+ return $RETVAL
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc $prog
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && rm -f $lockfile
+ return $RETVAL
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status $prog
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ *)
+ echo "Usage: service $prog {start|stop|status|restart}"
+ exit 1
+ ;;
+esac
diff --git a/contrib/init/dragonxd.openrc b/contrib/init/dragonxd.openrc
new file mode 100644
index 000000000..f0f755cc1
--- /dev/null
+++ b/contrib/init/dragonxd.openrc
@@ -0,0 +1,87 @@
+#!/sbin/runscript
+
+# backward compatibility for existing gentoo layout
+#
+if [ -d "/var/lib/hush/.hush" ]; then
+ HUSHD_DEFAULT_DATADIR="/var/lib/hush/.hush"
+else
+ HUSHD_DEFAULT_DATADIR="/var/lib/dragonxd"
+fi
+
+HUSHD_CONFIGFILE=${HUSHD_CONFIGFILE:-/etc/hush/hush.conf}
+HUSHD_PIDDIR=${HUSHD_PIDDIR:-/var/run/dragonxd}
+HUSHD_PIDFILE=${HUSHD_PIDFILE:-${HUSHD_PIDDIR}/dragonxd.pid}
+HUSHD_DATADIR=${HUSHD_DATADIR:-${HUSHD_DEFAULT_DATADIR}}
+HUSHD_USER=${HUSHD_USER:-${HUSH_USER:-hush}}
+HUSHD_GROUP=${HUSHD_GROUP:-hush}
+HUSHD_BIN=${HUSHD_BIN:-/usr/bin/dragonxd}
+HUSHD_NICE=${HUSHD_NICE:-${NICELEVEL:-0}}
+HUSHD_OPTS="${HUSHD_OPTS:-${HUSH_OPTS}}"
+
+name="Hush Full Node Daemon"
+description="Hush cryptocurrency P2P network daemon"
+
+command="/usr/bin/dragonxd"
+command_args="-pid=\"${HUSHD_PIDFILE}\" \
+ -conf=\"${HUSHD_CONFIGFILE}\" \
+ -datadir=\"${HUSHD_DATADIR}\" \
+ -daemon \
+ ${HUSHD_OPTS}"
+
+required_files="${HUSHD_CONFIGFILE}"
+start_stop_daemon_args="-u ${HUSHD_USER} \
+ -N ${HUSHD_NICE} -w 2000"
+pidfile="${HUSHD_PIDFILE}"
+
+# The retry schedule to use when stopping the daemon. Could be either
+# a timeout in seconds or multiple signal/timeout pairs (like
+# "SIGKILL/180 SIGTERM/300")
+retry="${HUSHD_SIGTERM_TIMEOUT}"
+
+depend() {
+ need localmount net
+}
+
+# verify
+# 1) that the datadir exists and is writable (or create it)
+# 2) that a directory for the pid exists and is writable
+# 3) ownership and permissions on the config file
+start_pre() {
+ checkpath \
+ -d \
+ --mode 0750 \
+ --owner "${HUSHD_USER}:${HUSHD_GROUP}" \
+ "${HUSHD_DATADIR}"
+
+ checkpath \
+ -d \
+ --mode 0755 \
+ --owner "${HUSHD_USER}:${HUSHD_GROUP}" \
+ "${HUSHD_PIDDIR}"
+
+ checkpath -f \
+ -o ${HUSHD_USER}:${HUSHD_GROUP} \
+ -m 0660 \
+ ${HUSHD_CONFIGFILE}
+
+ checkconfig || return 1
+}
+
+checkconfig()
+{
+ if ! grep -qs '^rpcpassword=' "${HUSHD_CONFIGFILE}" ; then
+ eerror ""
+ eerror "ERROR: You must set a secure rpcpassword to run dragonxd."
+ eerror "The setting must appear in ${HUSHD_CONFIGFILE}"
+ eerror ""
+ eerror "This password is security critical to securing wallets "
+ eerror "and must not be the same as the rpcuser setting."
+ eerror "You can generate a suitable random password using the following"
+ eerror "command from the shell:"
+ eerror ""
+ eerror "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'"
+ eerror ""
+ eerror ""
+ return 1
+ fi
+}
diff --git a/contrib/init/dragonxd.openrcconf b/contrib/init/dragonxd.openrcconf
new file mode 100644
index 000000000..eda99dc69
--- /dev/null
+++ b/contrib/init/dragonxd.openrcconf
@@ -0,0 +1,33 @@
+# /etc/conf.d/dragonxd: config file for /etc/init.d/dragonxd
+
+# Config file location
+#HUSHD_CONFIGFILE="/etc/hush/hush.conf"
+
+# What directory to write pidfile to? (created and owned by $HUSHD_USER)
+#HUSHD_PIDDIR="/var/run/dragonxd"
+
+# What filename to give the pidfile
+#HUSHD_PIDFILE="${HUSHD_PIDDIR}/dragonxd.pid"
+
+# Where to write dragonxd data (be mindful that the blockchain is large)
+#HUSHD_DATADIR="/var/lib/dragonxd"
+
+# User and group to own dragonxd process
+#HUSHD_USER="hush"
+#HUSHD_GROUP="hush"
+
+# Path to dragonxd executable
+#HUSHD_BIN="/usr/bin/dragonxd"
+
+# Nice value to run dragonxd under
+#HUSHD_NICE=0
+
+# Additional options (avoid -conf and -datadir, use flags above)
+HUSHD_OPTS="-disablewallet"
+
+# The timeout in seconds OpenRC will wait for dragonxd to terminate
+# after a SIGTERM has been raised.
+# Note that this will be mapped as argument to start-stop-daemon's
+# '--retry' option, which means you can specify a retry schedule
+# here. For more information see man 8 start-stop-daemon.
+HUSHD_SIGTERM_TIMEOUT=60
diff --git a/contrib/init/dragonxd.service b/contrib/init/dragonxd.service
new file mode 100644
index 000000000..525a7725d
--- /dev/null
+++ b/contrib/init/dragonxd.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Hush: Speak And Transact Freely
+After=network.target
+
+[Service]
+User=hush
+Group=hush
+
+Type=forking
+PIDFile=/var/lib/dragonxd/dragonxd.pid
+ExecStart=/usr/bin/dragonxd -daemon -pid=/var/lib/dragonxd/dragonxd.pid \
+-conf=/etc/hush/hush.conf -datadir=/var/lib/dragonxd -disablewallet
+
+Restart=always
+PrivateTmp=true
+TimeoutStopSec=60s
+TimeoutStartSec=2s
+StartLimitInterval=120s
+StartLimitBurst=5
+
+[Install]
+WantedBy=multi-user.target
diff --git a/doc/beefy-DRAGONX.conf b/doc/beefy-DRAGONX.conf
new file mode 100644
index 000000000..ee1daff63
--- /dev/null
+++ b/doc/beefy-DRAGONX.conf
@@ -0,0 +1,7 @@
+rpcuser=dontuseweakusernameoryougetrobbed
+rpcpassword=dontuseweakpasswordoryougetrobbed
+txindex=1
+server=1
+rpcworkqueue=64
+addnode=1.2.3.4
+addnode=5.6.7.8
diff --git a/doc/dragonxd-systemd.md b/doc/dragonxd-systemd.md
new file mode 100644
index 000000000..101523a83
--- /dev/null
+++ b/doc/dragonxd-systemd.md
@@ -0,0 +1,29 @@
+# Systemd script for the DragonX daemon
+
+## Set it up
+
+First set it up as follows:
+* Copy dragonxd.service to the systemd user directory, which is /usr/lib/systemd/user directory
+
+## Basic Usage
+
+How to start the script:
+`systemctl start --user dragonxd.service`
+
+How to stop the script:
+`systemctl stop --user dragonxd.service`
+
+How to restart the script:
+`systemctl restart --user dragonxd.service`
+
+## How to watch it as it starts
+
+Use the following on most Linux distros:
+`watch systemctl status --user dragonxd.service`
+
+Or watch the log directly:
+`tail -f ~/.hush/DRAGONX/debug.log`
+
+## Troubleshooting
+
+* Don't run it with sudo or root, or it won't work with the wallet.
diff --git a/doc/dragonxd.service b/doc/dragonxd.service
new file mode 100644
index 000000000..688181e98
--- /dev/null
+++ b/doc/dragonxd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=DragonX daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/dragonxd
+
+[Install]
+WantedBy=default.target
diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
index 13be3322e..a2f4265a1 100644
--- a/doc/man/Makefile.am
+++ b/doc/man/Makefile.am
@@ -1 +1 @@
-dist_man1_MANS=hushd.1 hush-cli.1 hush-tx.1
+dist_man1_MANS=dragonxd.1 dragonx-cli.1 dragonx-tx.1
diff --git a/doc/man/hush-cli.1 b/doc/man/dragonx-cli.1
similarity index 62%
rename from doc/man/hush-cli.1
rename to doc/man/dragonx-cli.1
index 3af3968e8..fd756420b 100644
--- a/doc/man/hush-cli.1
+++ b/doc/man/dragonx-cli.1
@@ -1,21 +1,21 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
-.TH HUSH-CLI "1" "March 2026" "hush-cli v3.10.5" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
+.TH DRAGONX "1" "July 2026" "DragonX RPC client version v1.0.3-4caf2fc68" "User Commands"
.SH NAME
-hush-cli \- manual page for hush-cli v3.10.5
+DragonX \- manual page for DragonX RPC client version v1.0.3-4caf2fc68
.SH DESCRIPTION
-Hush RPC client version v3.10.5\-04916cdf5
+DragonX RPC client version v1.0.3\-4caf2fc68
.PP
-In order to ensure you are adequately protecting your privacy when using Hush,
-please see .
+In order to ensure you are adequately protecting your privacy when using
+DragonX, please see .
.SS "Usage:"
.TP
-hush\-cli [options] [params]
-Send command to Hush
+dragonx\-cli [options] [params]
+Send command to DragonX
.TP
-hush\-cli [options] help
+dragonx\-cli [options] help
List commands
.TP
-hush\-cli [options] help
+dragonx\-cli [options] help
Get help for a command
.SH OPTIONS
.HP
@@ -25,7 +25,7 @@ This help message
.HP
\fB\-conf=\fR
.IP
-Specify configuration file (default: HUSH3.conf)
+Specify configuration file (default: DRAGONX.conf)
.HP
\fB\-datadir=\fR
.IP
@@ -70,20 +70,25 @@ Timeout in seconds during HTTP requests, or 0 for no timeout. (default:
.IP
Read extra arguments from standard input, one per line until EOF/Ctrl\-D
(recommended for sensitive information such as passphrases)
+.PP
+In order to ensure you are adequately protecting your privacy when using
+DragonX, please see .
.SH COPYRIGHT
-
-In order to ensure you are adequately protecting your privacy when using Hush,
-please see .
-
-Copyright (C) 2016-2026 Duke Leto and The Hush Developers
-
-Copyright (C) 2016-2020 jl777 and SuperNET developers
-
-Copyright (C) 2016-2018 The Zcash developers
-
-Copyright (C) 2009-2014 The Bitcoin Core developers
-
+Copyright \(co 2024\-2026 The DragonX Developers
+.PP
+.br
+Copyright \(co 2016\-2024 Duke Leto and The Hush Developers
+.PP
+.br
+Copyright \(co 2016\-2020 jl777 and SuperNET developers
+.PP
+.br
+Copyright \(co 2016\-2018 The Zcash developers
+.PP
+.br
+Copyright \(co 2009\-2014 The Bitcoin Core developers
+.PP
This is experimental Free Software! Fuck Yeah!!!!!
-
+.PP
Distributed under the GPLv3 software license, see the accompanying file COPYING
-or .
+or .
diff --git a/doc/man/hush-tx.1 b/doc/man/dragonx-tx.1
similarity index 67%
rename from doc/man/hush-tx.1
rename to doc/man/dragonx-tx.1
index 156049873..7b5bf014c 100644
--- a/doc/man/hush-tx.1
+++ b/doc/man/dragonx-tx.1
@@ -1,9 +1,9 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
-.TH HUSH-TX "1" "March 2026" "hush-tx v3.10.5" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
+.TH DRAGONX-TX "1" "July 2026" "dragonx-tx v1.0.3-4caf2fc68" "User Commands"
.SH NAME
-hush-tx \- manual page for hush-tx v3.10.5
+dragonx-tx \- DragonX transaction utility
.SH DESCRIPTION
-hush\-tx utility version v3.10.5\-04916cdf5
+hush\-tx utility version v1.0.3\-4caf2fc68
.SS "Usage:"
.TP
hush\-tx [options] [commands]
@@ -84,20 +84,3 @@ Load JSON file FILENAME into register NAME
set=NAME:JSON\-STRING
.IP
Set register NAME to given JSON\-STRING
-.SH COPYRIGHT
-
-In order to ensure you are adequately protecting your privacy when using Hush,
-please see .
-
-Copyright (C) 2016-2026 Duke Leto and The Hush Developers
-
-Copyright (C) 2016-2020 jl777 and SuperNET developers
-
-Copyright (C) 2016-2018 The Zcash developers
-
-Copyright (C) 2009-2014 The Bitcoin Core developers
-
-This is experimental Free Software! Fuck Yeah!!!!!
-
-Distributed under the GPLv3 software license, see the accompanying file COPYING
-or .
diff --git a/doc/man/hushd.1 b/doc/man/dragonxd.1
similarity index 87%
rename from doc/man/hushd.1
rename to doc/man/dragonxd.1
index 0a89464b3..079f9229a 100644
--- a/doc/man/hushd.1
+++ b/doc/man/dragonxd.1
@@ -1,16 +1,16 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
-.TH HUSHD "1" "March 2026" "hushd v3.10.5" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
+.TH DRAGONX "1" "July 2026" "DragonX Daemon version v1.0.3-4caf2fc68" "User Commands"
.SH NAME
-hushd \- manual page for hushd v3.10.5
+DragonX \- manual page for DragonX Daemon version v1.0.3-4caf2fc68
.SH DESCRIPTION
-Hush Daemon version v3.10.5\-04916cdf5
+DragonX Daemon version v1.0.3\-4caf2fc68
.PP
-In order to ensure you are adequately protecting your privacy when using Hush,
-please see .
+In order to ensure you are adequately protecting your privacy when using
+DragonX, please see .
.SS "Usage:"
.TP
-hushd [options]
-Start a Hush Daemon
+dragonxd [options]
+Start DragonX Daemon
.SH OPTIONS
.HP
\-?
@@ -32,11 +32,11 @@ How thorough the block verification of \fB\-checkblocks\fR is (0\-4, default: 3)
.HP
\fB\-clientname=\fR
.IP
-Full node client name, default 'GoldenSandtrout'
+Full node client name, default 'DragonX'
.HP
\fB\-conf=\fR
.IP
-Specify configuration file (default: HUSH3.conf)
+Specify configuration file (default: DRAGONX.conf)
.HP
\fB\-daemon\fR
.IP
@@ -52,7 +52,11 @@ Specify directory to be used when exporting data
.HP
\fB\-dbcache=\fR
.IP
-Set database cache size in megabytes (4 to 16384, default: 512)
+Set database cache size in megabytes (4 to 16384). Default: adaptive \-
+uses most free RAM to speed up initial block download (far fewer
+UTXO flushes to disk) and automatically shrinks if other
+applications need memory, always leaving a reserve free. Setting
+a fixed value disables adaptive sizing.
.HP
\fB\-loadblock=\fR
.IP
@@ -78,9 +82,15 @@ applied)
.HP
\fB\-par=\fR
.IP
-Set the number of script verification threads (\fB\-32\fR to 16, 0 = auto, <0 =
+Set the number of script verification threads (\fB\-4\fR to 16, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
+\fB\-randomxverifythreads=\fR
+.IP
+Number of threads for parallel RandomX PoW pre\-verification of
+post\-checkpoint blocks during sync (0 = inline only, max 16,
+default: same as \fB\-par\fR)
+.HP
\fB\-pid=\fR
.IP
Specify pid file (default: hushd.pid)
@@ -337,6 +347,40 @@ Do not load the wallet and disable wallet RPC calls
.IP
Set key pool size to (default: 100)
.HP
+\fB\-hdtransparent\fR
+.IP
+Derive transparent addresses from the HD seed so they can be recovered
+from it (default: 1)
+.HP
+\fB\-hdseed=\fR
+.IP
+Restore a fresh/empty wallet from a 32\- or 64\-byte HD seed hex (the
+value shown in z_exportwallet's '# HDSeed=' line). WARNING:
+exposes the seed to your shell history and process list.
+.HP
+\fB\-mnemonic=\fR
+.IP
+Restore/create a fresh/empty wallet from a BIP39 seed phrase, compatible
+with SilentDragonXLite (English, no passphrase). WARNING: exposes
+the phrase to your shell history and process list; prefer
+DRAGONX.conf with tight permissions.
+.HP
+\fB\-usemnemonic\fR
+.IP
+Create new wallets from a fresh BIP39 seed phrase so the 24 words can be
+exported (z_exportmnemonic) and used in SilentDragonXLite
+(default: 0)
+.HP
+\fB\-hdtransparentgaplimit=\fR
+.IP
+On \fB\-mnemonic\fR/\-hdseed restore, pre\-derive this many HD transparent keys
+so a rescan can find coinbase paid to them (default: 1000)
+.HP
+\fB\-mnemonicsaplinggap=\fR
+.IP
+On \fB\-mnemonic\fR/\-hdseed restore, pre\-derive this many shielded (Sapling)
+addresses so a rescan can find notes sent to them (default: 100)
+.HP
\fB\-consolidation\fR
.IP
Enable auto Sapling note consolidation (default: false)
@@ -649,8 +693,8 @@ multiple times (default: bind to all interfaces)
.HP
\fB\-stratumport=\fR
.IP
-Listen for Stratum work requests on (default: 19031 or testnet:
-19031)
+Listen for Stratum work requests on (default: 22769 or testnet:
+22769)
.HP
\fB\-stratumallowip=\fR
.IP
@@ -659,7 +703,7 @@ single IP (e.g. 1.2.3.4), a network/netmask (e.g.
1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
option can be specified multiple times
.PP
-Hush Arrakis Chain options:
+DragonX Chain options:
.HP
\fB\-ac_algo\fR
.IP
@@ -760,20 +804,25 @@ Starting supply, default is 10
\fB\-ac_txpow\fR
.IP
Enforce transaction\-rate limit, default 0
+.PP
+In order to ensure you are adequately protecting your privacy when using
+DragonX, please see .
.SH COPYRIGHT
-
-In order to ensure you are adequately protecting your privacy when using Hush,
-please see .
-
-Copyright (C) 2016-2026 Duke Leto and The Hush Developers
-
-Copyright (C) 2016-2020 jl777 and SuperNET developers
-
-Copyright (C) 2016-2018 The Zcash developers
-
-Copyright (C) 2009-2014 The Bitcoin Core developers
-
+Copyright \(co 2024\-2026 The DragonX Developers
+.PP
+.br
+Copyright \(co 2016\-2024 Duke Leto and The Hush Developers
+.PP
+.br
+Copyright \(co 2016\-2020 jl777 and SuperNET developers
+.PP
+.br
+Copyright \(co 2016\-2018 The Zcash developers
+.PP
+.br
+Copyright \(co 2009\-2014 The Bitcoin Core developers
+.PP
This is experimental Free Software! Fuck Yeah!!!!!
-
+.PP
Distributed under the GPLv3 software license, see the accompanying file COPYING
-or .
+or .