HUSHD

NAME
DESCRIPTION
Usage:
OPTIONS
COPYRIGHT

NAME

hushd - manual page for hushd v3.10.4

DESCRIPTION

Hush Daemon version v3.10.4-7e63e2f01-dirty

In order to ensure you are adequately protecting your privacy when using Hush, please see <https://hush.is/security/>.

Usage:

hushd [options]

Start a Hush Daemon

OPTIONS

-?

This help message

-blocknotify=<cmd>

Execute command when the best block changes (%s in cmd is replaced by block hash)

-checkblocks=<n>

How many blocks to check at startup (default: 288, 0 = all)

-checklevel=<n>

How thorough the block verification of -checkblocks is (0-4, default: 3)

-clientname=<SomeName>

Full node client name, default ’GoldenSandtrout’

-conf=<file>

Specify configuration file (default: HUSH3.conf)

-daemon

Run in the background as a daemon and accept commands

-datadir=<dir>

Specify data directory (this path cannot use ’˜’)

-exportdir=<dir>

Specify directory to be used when exporting data

-dbcache=<n>

Set database cache size in megabytes (4 to 16384, default: 512)

-loadblock=<file>

Imports blocks from external blk000??.dat file on startup

-maxdebugfilesize=<n>

Set the max size of the debug.log file (default: 15)

-maxorphantx=<n>

Keep at most <n> unconnectable transactions in memory (default: 100)

-maxreorg=<n>

Specify the maximum length of a blockchain re-organization

-mempooltxinputlimit=<n>

[DEPRECATED/IGNORED] Set the maximum number of transparent inputs in a transaction that the mempool will accept (default: 0 = no limit applied)

-par=<n>

Set the number of script verification threads (-8 to 16, 0 = auto, <0 = leave that many cores free, default: 0)

-pid=<file>

Specify pid file (default: hushd.pid)

-txexpirynotify=<cmd>

Execute command when transaction expires (%s in cmd is replaced by transaction id)

-prune=<n>

Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. 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)

-reindex

Rebuild block chain index from current blk000??.dat files on startup

-sysperms

Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality)

-txindex

Maintain a full transaction index, used by the getrawtransaction rpc call (default: 0)

-txsend=<cmd>

Execute command to send a transaction instead of broadcasting (%s in cmd is replaced by transaction hex)

-addressindex

Maintain a full address index, used to query for the balance, txids and unspent outputs for addresses (default: 0)

-timestampindex

Maintain a timestamp index for block hashes, used to query blocks hashes by a range of timestamps (default: 0)

-spentindex

Maintain a full spent index, used to query the spending txid and input index for an outpoint (default: 0)

-zindex

Maintain extra statistics about shielded transactions and payments (default: 0)

Connection options:

-addnode=<ip>

Add a node to connect to and attempt to keep the connection open

-asmap=<file>

Specify ASN mapping used for bucketing of the peers (default: asmap.dat). Relative paths will be prefixed by the net-specific datadir location.

-banscore=<n>

Threshold for disconnecting misbehaving peers (default: 100)

-bantime=<n>

Number of seconds to keep misbehaving peers from reconnecting (default: 86400)

-bind=<addr>

Bind to given address and always listen on it. Use [host]:port notation for IPv6

-connect=<ip>

Connect only to the specified node(s)

-discover

Discover own IP addresses (default: 1 when listening and no -externalip or -proxy)

-dns

Allow DNS lookups for -addnode, -seednode and -connect (default: 1)

-dnsseed

Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)

-externalip=<ip>

Specify your own public address

-forcednsseed

Always query for peer addresses via DNS lookup (default: 0)

-listen

Accept connections from outside (default: 1 if no -proxy or -connect)

-listenonion

Automatically create Tor hidden service (default: 1)

-maxconnections=<n>

Maintain at most <n> connections to peers (default: 384)

-maxreceivebuffer=<n>

Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)

-maxsendbuffer=<n>

Maximum per-connection send buffer, <n>*1000 bytes (default: 1000)

-onion=<ip:port>

Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: -proxy)

-nspv_msg

Enable NSPV messages processing (default: true when -ac_private=1, otherwise false)

-i2psam=<ip:port>

I2P SAM proxy to reach I2P peers and accept I2P connections (default: none)

-i2pacceptincoming

If set and -i2psam is also set then incoming I2P connections are accepted via the SAM proxy. If this is not set but -i2psam is set then only outgoing connections will be made to the I2P network. Ignored if -i2psam 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)

-onlynet=<net>

Only connect to nodes in network <net> (ipv4, ipv6, onion or i2p)

-disableipv4

Disable Ipv4 network connections (default: 0)

-disableipv6

Disable Ipv6 network connections (default: 0)

-clearnet

Enable clearnet connections. Setting to 0 will disable clearnet and use sane defaults for Tor/i2p (default: 1)

-permitbaremultisig

Relay non-P2SH multisig (default: 1)

-peerbloomfilters

Support filtering of blocks and transaction with Bloom filters (default: 1)

-port=<port>

Listen for connections on <port> (default: 55555 or testnet: 55420)

-proxy=<ip:port>

Connect through SOCKS5 proxy

-proxyrandomize

Randomize credentials for every proxy connection. This enables Tor stream isolation (default: 1)

-seednode=<ip>

Connect to a node to retrieve peer addresses, and disconnect

-timeout=<n>

Specify connection timeout in milliseconds (minimum: 1, default: 60000)

-torcontrol=<ip>:<port>

Tor control port to use if onion listening enabled (default: 127.0.0.1:9051)

-torpassword=<pass>

Tor control port password (default: empty)

-tls=<option>

Specify TLS usage (default: 1 => enabled and required); Cannot be turned off.

-tlsvalidate=<0 or 1>

Connect to peers only with valid certificates (default: 0)

-tlskeypath=<path>

Full path to a private key

-tlskeypwd=<password>

Password for a private key encryption (default: not set, i.e. private key will be stored unencrypted)

-tlscertpath=<path>

Full path to a certificate

-tlstrustdir=<path>

Full path to a trusted certificates directory

-allowbind=<addr>

Bind to given address and allowlist peers connecting to it. Use [host]:port notation for IPv6

-allowlist=<netmask>

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

Wallet options:

-disablewallet

Do not load the wallet and disable wallet RPC calls

-keypool=<n>

Set key pool size to <n> (default: 100)

-consolidation

Enable auto Sapling note consolidation (default: false)

-consolidationinterval

Block interval between consolidations (default: 25)

-consolidatesaplingaddress=<zaddr>

Specify Sapling Address to Consolidate. (default: all)

-consolidationtxfee

Fee amount in Puposhis used send consolidation transactions. (default 10000)

-zsweep

Enable zaddr sweeping, automatically move all shielded funds to a one address once per X blocks

-zsweepaddress=<zaddr>

Specify the shielded address where swept funds will be sent)

-zsweepfee

Fee amount in puposhis used send sweep transactions. (default 10000)

-zsweepinterval

Sweep shielded funds every X blocks (default 5)

-zsweepmaxinputs

Maximum number of shielded inputs to sweep per transaction (default 8)

-zsweepexternal

Enable sweeping to an external wallet (default false)

-zsweepexclude

Addresses to exclude from sweeping (default none)

-deletetx

Enable Old Transaction Deletion

-deleteinterval

Delete transaction every <n> blocks during inital block download (default: 1000)

-keeptxnum

Keep the last <n> transactions (default: 200)

-keeptxfornblocks

Keep transactions for at least <n> blocks (default: 10000)

-paytxfee=<amt>

Fee (in HUSH/kB) to add to transactions you send (default: 0.00)

-keepnotewitnesscache

Keep partial Sapling Note Witness cache. Must be used with -rescanheight to find missing cache items.

-rescan

Rescan the block chain for missing wallet transactions on startup

-rescanheight

Rescan from specified height when rescan=1 on startup

-salvagewallet

Attempt to recover private keys from a corrupt wallet.dat on startup

-sendfreetransactions

Send transactions as zero-fee transactions if possible (default: 0)

-spendzeroconfchange

Spend unconfirmed change when sending transactions (default: 1)

-txconfirmtarget=<n>

If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: 2)

-txexpirydelta

Set the number of blocks after which a transaction that has not been mined will become invalid (default: 200)

-maxtxfee=<amt>

Maximum total fees (in HUSH) to use in a single wallet transaction; setting this too low may abort large transactions (default: 0.10)

-upgradewallet

Upgrade wallet to latest format on startup

-wallet=<file>

Specify wallet file absolute path or a path relative to the data directory (default: wallet.dat)

-walletbroadcast

Make the wallet broadcast transactions (default: 1)

-walletnotify=<cmd>

Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)

-allowlistaddress=<Raddress>

Enable the wallet filter for notary nodes and add one Raddress to the allowlist of the wallet filter. If -allowlistaddress= is used, then the wallet filter is automatically activated. Several Raddresses can be defined using several -allowlistaddress= (similar to -addnode). The wallet filter will filter the utxo to only ones coming from my own Raddress (derived from pubkey) and each Raddress defined using -allowlistaddress= this option is mostly for Notary Nodes).

-zapwallettxes=<mode>

Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data)

Debugging/Testing options:

-debug=<category>

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

-experimentalfeatures

Enable use of experimental features

-help-debug

Show all debugging options (usage: --help -help-debug)

-logips

Include IP addresses in debug output (default: 0)

-logtimestamps

Prepend debug output with timestamp (default: 1)

-minrelaytxfee=<amt>

Fees (in HUSH/kB) smaller than this are considered zero fee for relaying (default: 0.000001)

-printtoconsole

Send trace/debug info to console instead of debug.log file

-shrinkdebugfile

Shrink debug.log file on client startup (default: 1 when no -debug)

-testnet

Use the test network

Node relay options:

-datacarrier

Relay and mine data carrier transactions (default: 1)

-datacarriersize

Maximum size of data in data carrier transactions we relay and mine (default: 8192)

Block creation options:

-blockminsize=<n>

Set minimum block size in bytes (default: 0)

-blockmaxsize=<n>

Set maximum block size in bytes (default: 2000000)

-blockprioritysize=<n>

Set maximum size of high-priority/low-fee transactions in bytes (default: 1000000)

Mining options:

-gen

Mine/generate coins (default: 0)

-genproclimit=<n>

Set the number of threads for coin mining if enabled (-1 = all cores, default: 0)

-equihashsolver=<name>

Specify the Equihash solver to be used if enabled (default: "default")

-mineraddress=<addr>

Send mined coins to a specific single address

-minetolocalwallet

Require that mined blocks use a coinbase address in the local wallet (default: 1)

RPC server options:

-server

Accept command line and JSON-RPC commands

-rest

Accept public REST requests (default: 0)

-rpcbind=<addr>

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)

-rpcuser=<user>

Username for JSON-RPC connections

-rpcpassword=<pw>

Password for JSON-RPC connections

-rpcport=<port>

Listen for JSON-RPC connections on <port> (default: 0 or testnet: 10000)

-rpcallowip=<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

-rpcthreads=<n>

Set the number of threads to service RPC calls (default: 8)

Metrics Options (only if -daemon and -printtoconsole are not set):

-showmetrics

Show metrics on stdout (default: 1 if running in a console, 0 otherwise)

-metricsui

Set to 1 for a persistent metrics screen, 0 for sequential metrics output (default: 1 if running in a console, 0 otherwise)

-metricsrefreshtime

Number of seconds between metrics refreshes (default: 1 if running in a console, 600 otherwise)

Stratum server options:

-stratum

Enable stratum server (default: off)

-stratumaddress=<address>

Mining address to use when special address of ’x’ is sent by miner (default: none)

-stratumbind=<ipaddr>

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)

-stratumport=<port>

Listen for Stratum work requests on <port> (default: 19031 or testnet: 19031)

-stratumallowip=<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

Hush Arrakis Chain options:

-ac_algo

Choose PoW mining algorithm, either ’equihash’ or ’randomx’. default is Equihash (200,9)

-ac_blocktime

Block time in seconds, default is 60

-ac_beam

BEAM integration

-ac_burn

Allow sending funds to the transparent burn address when -ac_private=1

-ac_minopreturnfee

OP_RETURN minimum fee per tx, regardless of tx size, default is 1 coin

-ac_coda

CODA integration

-ac_decay

Percentage of block reward decrease at each halving

-ac_end

Block height at which block rewards will end

-ac_eras

Block reward eras

-ac_founders

Number of blocks between founders reward payouts

-ac_halving

Number of blocks between each block reward halving

-ac_name

Name of asset chain

-ac_notarypay

Pay notaries, default 0

-ac_perc

Percentage of block rewards paid to the founder

-ac_private

Shielded transactions only (except coinbase + notaries), default is 0

-ac_pubkey

Public key for receiving payments on the network

-ac_public

Transparent transactions only, default 0

-ac_randomx_interval

Controls how often the RandomX key block will change, default is 1024

-ac_randomx_lag

Sets the number of RandomX blocks to wait before updating the key block, default is 64

-ac_reward

Block reward in satoshis, default is 0

-ac_script

P2SH/multisig address to receive founders rewards

-ac_supply

Starting supply, default is 10

-ac_txpow

Enforce transaction-rate limit, default 0

COPYRIGHT

In order to ensure you are adequately protecting your privacy when using Hush, please see <https://hush.is/security/>.

Copyright (C) 2016-2025 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>.