Compliant rebrand: legal compliance, code audit, and documentation (Phases 0-3)

Phase 0 - Legal Compliance:
- COPYING: Add DragonX copyright, preserve all upstream attributions
- AUTHORS: Add DragonX developers section
- LICENSE: Restore standard FSF GPLv3 text (fix GNU→GENERAL error)
- Add DragonX copyright headers to all 21 modified source files
- contrib/debian/copyright: Add DragonX attribution
- README.md: Add GPLv3 Section 5(a) attribution section

Phase 1 - init.cpp Cleanup:
- PID file: hushd.pid → dragonxd.pid
- Shutdown thread: hush-shutoff → dragonx-shutoff
- Debug message: stopping HUSH → stopping DragonX

Phase 2 - HUSH3/ishush3 Code Audit:
- Rename ishush3 → isdragonx across ~15 source files
- Update "HUSH3" chain-identity checks to "DRAGONX" in consensus,
  difficulty, notarization, devtax, and RPC code
- Intentionally preserve cross-chain "HUSH3" refs (gateway, notary dest)
- Build verified: all three binaries compile cleanly

Phase 3 - Documentation:
- README.md: Full rewrite with DragonX chain params, build instructions
- Man pages: Create dragonxd.1, dragonx-cli.1, dragonx-tx.1 (v1.0.0)
- Doc files: Add beefy-DRAGONX.conf, dragonxd-systemd.md, dragonxd.service
- Init scripts: Create dragonxd.{conf,init,openrc,openrcconf,service}
- Debian packaging: Update control, changelog, install, manpages, examples
- Update doc/init.md and contrib/init/README.md
This commit is contained in:
2026-03-03 19:01:24 -06:00
parent 4cb5a86056
commit c05134e77e
59 changed files with 1746 additions and 290 deletions

7
doc/beefy-DRAGONX.conf Normal file
View File

@@ -0,0 +1,7 @@
rpcuser=dontuseweakusernameoryougetrobbed
rpcpassword=dontuseweakpasswordoryougetrobbed
txindex=1
server=1
rpcworkqueue=64
addnode=1.2.3.4
addnode=5.6.7.8

29
doc/dragonxd-systemd.md Normal file
View File

@@ -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.

9
doc/dragonxd.service Normal file
View File

@@ -0,0 +1,9 @@
[Unit]
Description=DragonX daemon
After=network.target
[Service]
ExecStart=/usr/bin/dragonxd
[Install]
WantedBy=default.target

View File

@@ -1,37 +1,37 @@
*** Warning: This document has not been updated for Hush and may be inaccurate. ***
Sample init scripts and service configuration for bitcoind
Sample init scripts and service configuration for dragonxd
==========================================================
Sample scripts and configuration files for systemd, Upstart and OpenRC
can be found in the contrib/init folder.
contrib/init/bitcoind.service: systemd service unit configuration
contrib/init/bitcoind.openrc: OpenRC compatible SysV style init script
contrib/init/bitcoind.openrcconf: OpenRC conf.d file
contrib/init/bitcoind.conf: Upstart service configuration file
contrib/init/bitcoind.init: CentOS compatible SysV style init script
contrib/init/dragonxd.service: systemd service unit configuration
contrib/init/dragonxd.openrc: OpenRC compatible SysV style init script
contrib/init/dragonxd.openrcconf: OpenRC conf.d file
contrib/init/dragonxd.conf: Upstart service configuration file
contrib/init/dragonxd.init: CentOS compatible SysV style init script
1. Service User
---------------------------------
All three startup configurations assume the existence of a "bitcoin" user
All three startup configurations assume the existence of a "dragonx" user
and group. They must be created before attempting to use these scripts.
2. Configuration
---------------------------------
At a bare minimum, bitcoind requires that the rpcpassword setting be set
At a bare minimum, dragonxd requires that the rpcpassword setting be set
when running as a daemon. If the configuration file does not exist or this
setting is not set, bitcoind will shutdown promptly after startup.
setting is not set, dragonxd will shutdown promptly after startup.
This password does not have to be remembered or typed as it is mostly used
as a fixed token that bitcoind and client programs read from the configuration
as a fixed token that dragonxd and client programs read from the configuration
file, however it is recommended that a strong and secure password be used
as this password is security critical to securing the wallet should the
wallet be enabled.
If bitcoind is run with "-daemon" flag, and no rpcpassword is set, it will
If dragonxd is run with "-daemon" flag, and no rpcpassword is set, it will
print a randomly generated suitable password to stderr. You can also
generate one from the shell yourself like this:
@@ -39,24 +39,24 @@ bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'
For an example configuration file that describes the configuration settings,
see contrib/debian/examples/bitcoin.conf.
see contrib/debian/examples/DRAGONX.conf.
3. Paths
---------------------------------
All three configurations assume several paths that might need to be adjusted.
Binary: /usr/bin/bitcoind
Configuration file: /etc/bitcoin/bitcoin.conf
Data directory: /var/lib/bitcoind
PID file: /var/run/bitcoind/bitcoind.pid (OpenRC and Upstart)
/var/lib/bitcoind/bitcoind.pid (systemd)
Lock file: /var/lock/subsys/bitcoind (CentOS)
Binary: /usr/bin/dragonxd
Configuration file: /etc/dragonx/DRAGONX.conf
Data directory: /var/lib/dragonxd
PID file: /var/run/dragonxd/dragonxd.pid (OpenRC and Upstart)
/var/lib/dragonxd/dragonxd.pid (systemd)
Lock file: /var/lock/subsys/dragonxd (CentOS)
The configuration file, PID directory (if applicable) and data directory
should all be owned by the bitcoin user and group. It is advised for security
should all be owned by the dragonx user and group. It is advised for security
reasons to make the configuration file and data directory only readable by the
bitcoin user and group. Access to bitcoin-cli and other bitcoind rpc clients
dragonx user and group. Access to dragonx-cli and other dragonxd rpc clients
can then be controlled by group membership.
4. Installing Service Configuration
@@ -68,19 +68,19 @@ Installing this .service file consists of just copying it to
/usr/lib/systemd/system directory, followed by the command
"systemctl daemon-reload" in order to update running systemd configuration.
To test, run "systemctl start bitcoind" and to enable for system startup run
"systemctl enable bitcoind"
To test, run "systemctl start dragonxd" and to enable for system startup run
"systemctl enable dragonxd"
4b) OpenRC
Rename bitcoind.openrc to bitcoind and drop it in /etc/init.d. Double
Rename dragonxd.openrc to dragonxd and drop it in /etc/init.d. Double
check ownership and permissions and make it executable. Test it with
"/etc/init.d/bitcoind start" and configure it to run on startup with
"rc-update add bitcoind"
"/etc/init.d/dragonxd start" and configure it to run on startup with
"rc-update add dragonxd"
4c) Upstart (for Debian/Ubuntu based distributions)
Drop bitcoind.conf in /etc/init. Test by running "service bitcoind start"
Drop dragonxd.conf in /etc/init. Test by running "service dragonxd start"
it will automatically start on reboot.
NOTE: This script is incompatible with CentOS 5 and Amazon Linux 2014 as they
@@ -88,11 +88,11 @@ use old versions of Upstart and do not supply the start-stop-daemon utility.
4d) CentOS
Copy bitcoind.init to /etc/init.d/bitcoind. Test by running "service bitcoind start".
Copy dragonxd.init to /etc/init.d/dragonxd. Test by running "service dragonxd start".
Using this script, you can adjust the path and flags to the bitcoind program by
setting the BITCOIND and FLAGS environment variables in the file
/etc/sysconfig/bitcoind. You can also use the DAEMONOPTS environment variable here.
Using this script, you can adjust the path and flags to the dragonxd program by
setting the DRAGONXD and FLAGS environment variables in the file
/etc/sysconfig/dragonxd. You can also use the DAEMONOPTS environment variable here.
5. Auto-respawn
-----------------------------------

View File

@@ -1 +1 @@
dist_man1_MANS=hushd.1 hush-cli.1 hush-tx.1
dist_man1_MANS=dragonxd.1 dragonx-cli.1 dragonx-tx.1

91
doc/man/dragonx-cli.1 Normal file
View File

@@ -0,0 +1,91 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DRAGONX-CLI "1" "March 2026" "dragonx-cli v1.0.0" "User Commands"
.SH NAME
dragonx-cli \- manual page for dragonx-cli v1.0.0
.SH DESCRIPTION
DragonX RPC client version v1.0.0\-04916cdf5
.PP
In order to ensure you are adequately protecting your privacy when using DragonX,
please see <https://dragonx.is>.
.SS "Usage:"
.TP
dragonx\-cli [options] <command> [params]
Send command to DragonX
.TP
dragonx\-cli [options] help
List commands
.TP
dragonx\-cli [options] help <command>
Get help for a command
.SH OPTIONS
.HP
\-?
.IP
This help message
.HP
\fB\-conf=\fR<file>
.IP
Specify configuration file (default: DRAGONX.conf)
.HP
\fB\-datadir=\fR<dir>
.IP
Specify data directory (this path cannot use '~')
.HP
\fB\-testnet\fR
.IP
Use the test network
.HP
\fB\-regtest\fR
.IP
Enter regression test mode, which uses a special chain in which blocks
can be solved instantly. This is intended for regression testing
tools and app development.
.HP
\fB\-rpcconnect=\fR<ip>
.IP
Send commands to node running on <ip> (default: 127.0.0.1)
.HP
\fB\-rpcport=\fR<port>
.IP
Connect to JSON\-RPC on <port> (default: 18030 )
.HP
\fB\-rpcwait\fR
.IP
Wait for RPC server to start
.HP
\fB\-rpcuser=\fR<user>
.IP
Username for JSON\-RPC connections
.HP
\fB\-rpcpassword=\fR<pw>
.IP
Password for JSON\-RPC connections
.HP
\fB\-rpcclienttimeout=\fR<n>
.IP
Timeout in seconds during HTTP requests, or 0 for no timeout. (default:
900)
.HP
\fB\-stdin\fR
.IP
Read extra arguments from standard input, one per line until EOF/Ctrl\-D
(recommended for sensitive information such as passphrases)
.SH COPYRIGHT
In order to ensure you are adequately protecting your privacy when using DragonX,
please see <https://dragonx.is>.
Copyright (C) 2024-2026 The DragonX Developers
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 <https://www.gnu.org/licenses/gpl-3.0.en.html>.

105
doc/man/dragonx-tx.1 Normal file
View File

@@ -0,0 +1,105 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DRAGONX-TX "1" "March 2026" "dragonx-tx v1.0.0" "User Commands"
.SH NAME
dragonx-tx \- manual page for dragonx-tx v1.0.0
.SH DESCRIPTION
DragonX TX utility version v1.0.0\-04916cdf5
.SS "Usage:"
.TP
dragonx\-tx [options] <hex\-tx> [commands]
Update hex\-encoded DragonX transaction
.TP
dragonx\-tx [options] \fB\-create\fR [commands]
Create hex\-encoded DragonX transaction
.SH OPTIONS
.HP
\-?
.IP
This help message
.HP
\fB\-create\fR
.IP
Create new, empty TX.
.HP
\fB\-json\fR
.IP
Select JSON output
.HP
\fB\-txid\fR
.IP
Output only the hex\-encoded transaction id of the resultant transaction.
.HP
\fB\-regtest\fR
.IP
Enter regression test mode, which uses a special chain in which blocks
can be solved instantly.
.HP
\fB\-testnet\fR
.IP
Use the test network
.PP
Commands:
.IP
delin=N
.IP
Delete input N from TX
.IP
delout=N
.IP
Delete output N from TX
.IP
in=TXID:VOUT(:SEQUENCE_NUMBER)
.IP
Add input to TX
.IP
locktime=N
.IP
Set TX lock time to N
.IP
nversion=N
.IP
Set TX version to N
.IP
outaddr=VALUE:ADDRESS
.IP
Add address\-based output to TX
.IP
outscript=VALUE:SCRIPT
.IP
Add raw script output to TX
.IP
sign=HEIGHT:SIGHASH\-FLAGS
.IP
Add zero or more signatures to transaction. This command requires JSON
registers:prevtxs=JSON object, privatekeys=JSON object. See
signrawtransaction docs for format of sighash flags, JSON
objects.
.PP
Register Commands:
.IP
load=NAME:FILENAME
.IP
Load JSON file FILENAME into register NAME
.IP
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 DragonX,
please see <https://dragonx.is>.
Copyright (C) 2024-2026 The DragonX Developers
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 <https://www.gnu.org/licenses/gpl-3.0.en.html>.

781
doc/man/dragonxd.1 Normal file
View File

@@ -0,0 +1,781 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DRAGONXD "1" "March 2026" "dragonxd v1.0.0" "User Commands"
.SH NAME
dragonxd \- manual page for dragonxd v1.0.0
.SH DESCRIPTION
DragonX Daemon version v1.0.0\-04916cdf5
.PP
In order to ensure you are adequately protecting your privacy when using DragonX,
please see <https://dragonx.is>.
.SS "Usage:"
.TP
dragonxd [options]
Start a DragonX Daemon
.SH OPTIONS
.HP
\-?
.IP
This help message
.HP
\fB\-blocknotify=\fR<cmd>
.IP
Execute command when the best block changes (%s in cmd is replaced by
block hash)
.HP
\fB\-checkblocks=\fR<n>
.IP
How many blocks to check at startup (default: 288, 0 = all)
.HP
\fB\-checklevel=\fR<n>
.IP
How thorough the block verification of \fB\-checkblocks\fR is (0\-4, default: 3)
.HP
\fB\-clientname=\fR<SomeName>
.IP
Full node client name, default 'GoldenSandtrout'
.HP
\fB\-conf=\fR<file>
.IP
Specify configuration file (default: DRAGONX.conf)
.HP
\fB\-daemon\fR
.IP
Run in the background as a daemon and accept commands
.HP
\fB\-datadir=\fR<dir>
.IP
Specify data directory (this path cannot use '~')
.HP
\fB\-exportdir=\fR<dir>
.IP
Specify directory to be used when exporting data
.HP
\fB\-dbcache=\fR<n>
.IP
Set database cache size in megabytes (4 to 16384, default: 512)
.HP
\fB\-loadblock=\fR<file>
.IP
Imports blocks from external blk000??.dat file on startup
.HP
\fB\-maxdebugfilesize=\fR<n>
.IP
Set the max size of the debug.log file (default: 15)
.HP
\fB\-maxorphantx=\fR<n>
.IP
Keep at most <n> unconnectable transactions in memory (default: 100)
.HP
\fB\-maxreorg=\fR<n>
.IP
Specify the maximum length of a blockchain re\-organization
.HP
\fB\-mempooltxinputlimit=\fR<n>
.IP
[DEPRECATED/IGNORED] Set the maximum number of transparent inputs in a
transaction that the mempool will accept (default: 0 = no limit
applied)
.HP
\fB\-par=\fR<n>
.IP
Set the number of script verification threads (\fB\-32\fR to 16, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
\fB\-pid=\fR<file>
.IP
Specify pid file (default: dragonxd.pid)
.HP
\fB\-txexpirynotify=\fR<cmd>
.IP
Execute command when transaction expires (%s in cmd is replaced by
transaction id)
.HP
\fB\-prune=\fR<n>
.IP
Reduce storage requirements by pruning (deleting) old blocks. This mode
disables wallet support and is incompatible with \fB\-txindex\fR.
Warning: Reverting this setting requires re\-downloading the
entire blockchain. (default: 0 = disable pruning blocks, >550 =
target size in MiB to use for block files)
.HP
\fB\-reindex\fR
.IP
Rebuild block chain index from current blk000??.dat files on startup
.HP
\fB\-sysperms\fR
.IP
Create new files with system default permissions, instead of umask 077
(only effective with disabled wallet functionality)
.HP
\fB\-txindex\fR
.IP
Maintain a full transaction index, used by the getrawtransaction rpc
call (default: 0)
.HP
\fB\-txsend=\fR<cmd>
.IP
Execute command to send a transaction instead of broadcasting (%s in cmd
is replaced by transaction hex)
.HP
\fB\-addressindex\fR
.IP
Maintain a full address index, used to query for the balance, txids and
unspent outputs for addresses (default: 0)
.HP
\fB\-timestampindex\fR
.IP
Maintain a timestamp index for block hashes, used to query blocks hashes
by a range of timestamps (default: 0)
.HP
\fB\-spentindex\fR
.IP
Maintain a full spent index, used to query the spending txid and input
index for an outpoint (default: 0)
.HP
\fB\-zindex\fR
.IP
Maintain extra statistics about shielded transactions and payments
(default: 0)
.PP
Connection options:
.HP
\fB\-addnode=\fR<ip>
.IP
Add a node to connect to and attempt to keep the connection open
.HP
\fB\-asmap=\fR<file>
.IP
Specify ASN mapping used for bucketing of the peers (default:
asmap.dat). Relative paths will be prefixed by the net\-specific
datadir location.
.HP
\fB\-banscore=\fR<n>
.IP
Threshold for disconnecting misbehaving peers (default: 100)
.HP
\fB\-bantime=\fR<n>
.IP
Number of seconds to keep misbehaving peers from reconnecting (default:
86400)
.HP
\fB\-bind=\fR<addr>
.IP
Bind to given address and always listen on it. Use [host]:port notation
for IPv6
.HP
\fB\-connect=\fR<ip>
.IP
Connect only to the specified node(s)
.HP
\fB\-discover\fR
.IP
Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
or \fB\-proxy\fR)
.HP
\fB\-dns\fR
.IP
Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
.HP
\fB\-dnsseed\fR
.IP
Query for peer addresses via DNS lookup, if low on addresses (default: 1
unless \fB\-connect\fR)
.HP
\fB\-externalip=\fR<ip>
.IP
Specify your own public address
.HP
\fB\-forcednsseed\fR
.IP
Always query for peer addresses via DNS lookup (default: 0)
.HP
\fB\-listen\fR
.IP
Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR)
.HP
\fB\-listenonion\fR
.IP
Automatically create Tor hidden service (default: 1)
.HP
\fB\-maxconnections=\fR<n>
.IP
Maintain at most <n> connections to peers (default: 384)
.HP
\fB\-maxreceivebuffer=\fR<n>
.IP
Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
.HP
\fB\-maxsendbuffer=\fR<n>
.IP
Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
.HP
\fB\-onion=\fR<ip:port>
.IP
Use separate SOCKS5 proxy to reach peers via Tor hidden services
(default: \fB\-proxy\fR)
.HP
\fB\-nspv_msg\fR
.IP
Enable NSPV messages processing (default: true when \fB\-ac_private\fR=\fI\,1\/\fR,
otherwise false)
.HP
\fB\-i2psam=\fR<ip:port>
.IP
I2P SAM proxy to reach I2P peers and accept I2P connections (default:
none)
.HP
\fB\-i2pacceptincoming\fR
.IP
If set and \fB\-i2psam\fR is also set then incoming I2P connections are
accepted via the SAM proxy. If this is not set but \fB\-i2psam\fR is set
then only outgoing connections will be made to the I2P network.
Ignored if \fB\-i2psam\fR is not set. Listening for incoming I2P
connections is done through the SAM proxy, not by binding to a
local address and port (default: 1)
.HP
\fB\-onlynet=\fR<net>
.IP
Only connect to nodes in network <net> (ipv4, ipv6, onion or i2p)
.HP
\fB\-disableipv4\fR
.IP
Disable Ipv4 network connections (default: 0)
.HP
\fB\-disableipv6\fR
.IP
Disable Ipv6 network connections (default: 0)
.HP
\fB\-clearnet\fR
.IP
Enable clearnet connections. Setting to 0 will disable clearnet and use
sane defaults for Tor/i2p (default: 1)
.HP
\fB\-permitbaremultisig\fR
.IP
Relay non\-P2SH multisig (default: 1)
.HP
\fB\-peerbloomfilters\fR
.IP
Support filtering of blocks and transaction with Bloom filters (default:
1)
.HP
\fB\-port=\fR<port>
.IP
Listen for connections on <port> (default: 55555 or testnet: 55420)
.HP
\fB\-proxy=\fR<ip:port>
.IP
Connect through SOCKS5 proxy
.HP
\fB\-proxyrandomize\fR
.IP
Randomize credentials for every proxy connection. This enables Tor
stream isolation (default: 1)
.HP
\fB\-seednode=\fR<ip>
.IP
Connect to a node to retrieve peer addresses, and disconnect
.HP
\fB\-timeout=\fR<n>
.IP
Specify connection timeout in milliseconds (minimum: 1, default: 60000)
.HP
\fB\-torcontrol=\fR<ip>:<port>
.IP
Tor control port to use if onion listening enabled (default:
127.0.0.1:9051)
.HP
\fB\-torpassword=\fR<pass>
.IP
Tor control port password (default: empty)
.HP
\fB\-tls=\fR<option>
.IP
Specify TLS usage (default: 1 => enabled and required); Cannot be turned
off.
.HP
\fB\-tlsvalidate=\fR<0 or 1>
.IP
Connect to peers only with valid certificates (default: 0)
.HP
\fB\-tlskeypath=\fR<path>
.IP
Full path to a private key
.HP
\fB\-tlskeypwd=\fR<password>
.IP
Password for a private key encryption (default: not set, i.e. private
key will be stored unencrypted)
.HP
\fB\-tlscertpath=\fR<path>
.IP
Full path to a certificate
.HP
\fB\-tlstrustdir=\fR<path>
.IP
Full path to a trusted certificates directory
.HP
\fB\-allowbind=\fR<addr>
.IP
Bind to given address and allowlist peers connecting to it. Use
[host]:port notation for IPv6
.HP
\fB\-allowlist=\fR<netmask>
.IP
Allowlist peers connecting from the given netmask or IP address. Can be
specified multiple times. Allowlisted peers cannot be DoS banned
and their transactions are always relayed, even if they are
already in the mempool, useful e.g. for a gateway
.PP
Wallet options:
.HP
\fB\-disablewallet\fR
.IP
Do not load the wallet and disable wallet RPC calls
.HP
\fB\-keypool=\fR<n>
.IP
Set key pool size to <n> (default: 100)
.HP
\fB\-consolidation\fR
.IP
Enable auto Sapling note consolidation (default: false)
.HP
\fB\-consolidationinterval\fR
.IP
Block interval between consolidations (default: 25)
.HP
\fB\-consolidatesaplingaddress=\fR<zaddr>
.IP
Specify Sapling Address to Consolidate. (default: all)
.HP
\fB\-consolidationtxfee\fR
.IP
Fee amount in Puposhis used send consolidation transactions. (default
10000)
.HP
\fB\-zsweep\fR
.IP
Enable zaddr sweeping, automatically move all shielded funds to a one
address once per X blocks
.HP
\fB\-zsweepaddress=\fR<zaddr>
.IP
Specify the shielded address where swept funds will be sent)
.HP
\fB\-zsweepfee\fR
.IP
Fee amount in puposhis used send sweep transactions. (default 10000)
.HP
\fB\-zsweepinterval\fR
.IP
Sweep shielded funds every X blocks (default 5)
.HP
\fB\-zsweepmaxinputs\fR
.IP
Maximum number of shielded inputs to sweep per transaction (default 8)
.HP
\fB\-zsweepexternal\fR
.IP
Enable sweeping to an external wallet (default false)
.HP
\fB\-zsweepexclude\fR
.IP
Addresses to exclude from sweeping (default none)
.HP
\fB\-deletetx\fR
.IP
Enable Old Transaction Deletion
.HP
\fB\-deleteinterval\fR
.IP
Delete transaction every <n> blocks during inital block download
(default: 1000)
.HP
\fB\-keeptxnum\fR
.IP
Keep the last <n> transactions (default: 200)
.HP
\fB\-keeptxfornblocks\fR
.IP
Keep transactions for at least <n> blocks (default: 10000)
.HP
\fB\-paytxfee=\fR<amt>
.IP
Fee (in HUSH/kB) to add to transactions you send (default: 0.00)
.HP
\fB\-keepnotewitnesscache\fR
.IP
Keep partial Sapling Note Witness cache. Must be used with \fB\-rescanheight\fR
to find missing cache items.
.HP
\fB\-rescan\fR
.IP
Rescan the block chain for missing wallet transactions on startup
.HP
\fB\-rescanheight\fR
.IP
Rescan from specified height when rescan=1 on startup
.HP
\fB\-salvagewallet\fR
.IP
Attempt to recover private keys from a corrupt wallet.dat on startup
.HP
\fB\-sendfreetransactions\fR
.IP
Send transactions as zero\-fee transactions if possible (default: 0)
.HP
\fB\-spendzeroconfchange\fR
.IP
Spend unconfirmed change when sending transactions (default: 1)
.HP
\fB\-txconfirmtarget=\fR<n>
.IP
If paytxfee is not set, include enough fee so transactions begin
confirmation on average within n blocks (default: 2)
.HP
\fB\-txexpirydelta\fR
.IP
Set the number of blocks after which a transaction that has not been
mined will become invalid (default: 200)
.HP
\fB\-maxtxfee=\fR<amt>
.IP
Maximum total fees (in HUSH) to use in a single wallet transaction;
setting this too low may abort large transactions (default: 0.10)
.HP
\fB\-upgradewallet\fR
.IP
Upgrade wallet to latest format on startup
.HP
\fB\-wallet=\fR<file>
.IP
Specify wallet file absolute path or a path relative to the data
directory (default: wallet.dat)
.HP
\fB\-walletbroadcast\fR
.IP
Make the wallet broadcast transactions (default: 1)
.HP
\fB\-walletnotify=\fR<cmd>
.IP
Execute command when a wallet transaction changes (%s in cmd is replaced
by TxID)
.HP
\fB\-allowlistaddress=\fR<Raddress>
.IP
Enable the wallet filter for notary nodes and add one Raddress to the
allowlist of the wallet filter. If \fB\-allowlistaddress=\fR is used,
then the wallet filter is automatically activated. Several
Raddresses can be defined using several \fB\-allowlistaddress=\fR
(similar to \fB\-addnode\fR). The wallet filter will filter the utxo to
only ones coming from my own Raddress (derived from pubkey) and
each Raddress defined using \fB\-allowlistaddress=\fR this option is
mostly for Notary Nodes).
.HP
\fB\-zapwallettxes=\fR<mode>
.IP
Delete all wallet transactions and only recover those parts of the
blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
account owner and payment request information, 2 = drop tx meta
data)
.PP
Debugging/Testing options:
.HP
\fB\-debug=\fR<category>
.IP
Output debugging information (default: 0, supplying <category> is
optional). If <category> is not supplied or if <category> = 1,
output all debugging information. <category> can be: addrman,
bench, coindb, db, deletetx, estimatefee, http, libevent, lock,
mempool, net, tls, partitioncheck, pow, proxy, prune, rand,
randomx, reindex, rpc, selectcoins, stratum, tor, zrpc,
zrpcunsafe (implies zrpc).
.HP
\fB\-experimentalfeatures\fR
.IP
Enable use of experimental features
.HP
\fB\-help\-debug\fR
.IP
Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR)
.HP
\fB\-logips\fR
.IP
Include IP addresses in debug output (default: 0)
.HP
\fB\-logtimestamps\fR
.IP
Prepend debug output with timestamp (default: 1)
.HP
\fB\-minrelaytxfee=\fR<amt>
.IP
Fees (in HUSH/kB) smaller than this are considered zero fee for relaying
(default: 0.000001)
.HP
\fB\-printtoconsole\fR
.IP
Send trace/debug info to console instead of debug.log file
.HP
\fB\-shrinkdebugfile\fR
.IP
Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
.HP
\fB\-testnet\fR
.IP
Use the test network
.PP
Node relay options:
.HP
\fB\-datacarrier\fR
.IP
Relay and mine data carrier transactions (default: 1)
.HP
\fB\-datacarriersize\fR
.IP
Maximum size of data in data carrier transactions we relay and mine
(default: 8192)
.PP
Block creation options:
.HP
\fB\-blockminsize=\fR<n>
.IP
Set minimum block size in bytes (default: 0)
.HP
\fB\-blockmaxsize=\fR<n>
.IP
Set maximum block size in bytes (default: 2000000)
.HP
\fB\-blockprioritysize=\fR<n>
.IP
Set maximum size of high\-priority/low\-fee transactions in bytes
(default: 1000000)
.PP
Mining options:
.HP
\fB\-gen\fR
.IP
Mine/generate coins (default: 0)
.HP
\fB\-genproclimit=\fR<n>
.IP
Set the number of threads for coin mining if enabled (\fB\-1\fR = all cores,
default: 0)
.HP
\fB\-equihashsolver=\fR<name>
.IP
Specify the Equihash solver to be used if enabled (default: "default")
.HP
\fB\-mineraddress=\fR<addr>
.IP
Send mined coins to a specific single address
.HP
\fB\-minetolocalwallet\fR
.IP
Require that mined blocks use a coinbase address in the local wallet
(default: 1)
.PP
RPC server options:
.HP
\fB\-server\fR
.IP
Accept command line and JSON\-RPC commands
.HP
\fB\-rest\fR
.IP
Accept public REST requests (default: 0)
.HP
\fB\-rpcbind=\fR<addr>
.IP
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)
.HP
\fB\-rpcuser=\fR<user>
.IP
Username for JSON\-RPC connections
.HP
\fB\-rpcpassword=\fR<pw>
.IP
Password for JSON\-RPC connections
.HP
\fB\-rpcport=\fR<port>
.IP
Listen for JSON\-RPC connections on <port> (default: 0 or testnet: 10000)
.HP
\fB\-rpcallowip=\fR<ip>
.IP
Allow JSON\-RPC connections from specified source. Valid for <ip> are a
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
.HP
\fB\-rpcthreads=\fR<n>
.IP
Set the number of threads to service RPC calls (default: 8)
.PP
Metrics Options (only if \fB\-daemon\fR and \fB\-printtoconsole\fR are not set):
.HP
\fB\-showmetrics\fR
.IP
Show metrics on stdout (default: 1 if running in a console, 0 otherwise)
.HP
\fB\-metricsui\fR
.IP
Set to 1 for a persistent metrics screen, 0 for sequential metrics
output (default: 1 if running in a console, 0 otherwise)
.HP
\fB\-metricsrefreshtime\fR
.IP
Number of seconds between metrics refreshes (default: 1 if running in a
console, 600 otherwise)
.PP
Stratum server options:
.HP
\fB\-stratum\fR
.IP
Enable stratum server (default: off)
.HP
\fB\-stratumaddress=\fR<address>
.IP
Mining address to use when special address of 'x' is sent by miner
(default: none)
.HP
\fB\-stratumbind=\fR<ipaddr>
.IP
Bind to given address to listen for Stratum work requests. Use
[host]:port notation for IPv6. This option can be specified
multiple times (default: bind to all interfaces)
.HP
\fB\-stratumport=\fR<port>
.IP
Listen for Stratum work requests on <port> (default: 19031 or testnet:
19031)
.HP
\fB\-stratumallowip=\fR<ip>
.IP
Allow Stratum work requests from specified source. Valid for <ip> are a
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
DragonX Chain options:
.HP
\fB\-ac_algo\fR
.IP
Choose PoW mining algorithm, either 'equihash' or 'randomx'. default is
Equihash (200,9)
.HP
\fB\-ac_blocktime\fR
.IP
Block time in seconds, default is 60
.HP
\fB\-ac_beam\fR
.IP
BEAM integration
.HP
\fB\-ac_burn\fR
.IP
Allow sending funds to the transparent burn address when \fB\-ac_private\fR=\fI\,1\/\fR
.HP
\fB\-ac_minopreturnfee\fR
.IP
OP_RETURN minimum fee per tx, regardless of tx size, default is 1 coin
.HP
\fB\-ac_coda\fR
.IP
CODA integration
.HP
\fB\-ac_clearnet\fR
.IP
Enable or disable clearnet connections for the entire blockchain.
Setting to 0 will disable clearnet and use sane defaults for
Tor/i2p and require all nodes to do the same (default: 1)
.HP
\fB\-ac_decay\fR
.IP
Percentage of block reward decrease at each halving
.HP
\fB\-ac_end\fR
.IP
Block height at which block rewards will end
.HP
\fB\-ac_eras\fR
.IP
Block reward eras
.HP
\fB\-ac_founders\fR
.IP
Number of blocks between founders reward payouts
.HP
\fB\-ac_halving\fR
.IP
Number of blocks between each block reward halving
.HP
\fB\-ac_name\fR
.IP
Name of asset chain
.HP
\fB\-ac_notarypay\fR
.IP
Pay notaries, default 0
.HP
\fB\-ac_perc\fR
.IP
Percentage of block rewards paid to the founder
.HP
\fB\-ac_private\fR
.IP
Shielded transactions only (except coinbase + notaries), default is 0
.HP
\fB\-ac_pubkey\fR
.IP
Public key for receiving payments on the network
.HP
\fB\-ac_public\fR
.IP
Transparent transactions only, default 0
.HP
\fB\-ac_randomx_interval\fR
.IP
Controls how often the RandomX key block will change, default is 1024
.HP
\fB\-ac_randomx_lag\fR
.IP
Sets the number of RandomX blocks to wait before updating the key block,
default is 64
.HP
\fB\-ac_reward\fR
.IP
Block reward in satoshis, default is 0
.HP
\fB\-ac_script\fR
.IP
P2SH/multisig address to receive founders rewards
.HP
\fB\-ac_supply\fR
.IP
Starting supply, default is 10
.HP
\fB\-ac_txpow\fR
.IP
Enforce transaction\-rate limit, default 0
.SH COPYRIGHT
In order to ensure you are adequately protecting your privacy when using DragonX,
please see <https://dragonx.is>.
Copyright (C) 2024-2026 The DragonX Developers
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 <https://www.gnu.org/licenses/gpl-3.0.en.html>.