HUSHD(1)

NAME
hushd - manual page for hushd v3.9.1

DESCRIPTION
Hush Daemon version v3.9.1-804a4abbe-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

-alertnotify=<cmd>

    Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by 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

-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

-maxorphantx=<n>

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

-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: 0)

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

-onlynet=<net>

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

-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: 5000)

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

-consolidatesaplingaddress=<zaddr>

    Specify Sapling Address to Consolidate. (default: all)

-consolidationtxfee

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

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

-opretmintxfee=<amt>

    Minimum fee (in HUSH/kB) to allow for OP_RETURN transactions (default: 400000)

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

ZeroMQ notification options:

-zmqpubhashblock=<address>

    Enable publish hash block in <address>

-zmqpubhashtx=<address>

    Enable publish hash transaction in <address>

-zmqpubrawblock=<address>

    Enable publish raw block in <address>

-zmqpubrawtx=<address>

    Enable publish raw transaction in <address>

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, alert, bench, coindb, db, deletetx, estimatefee, http, libevent, lock, mempool, net, tls, partitioncheck, pow, proxy, prune, rand, reindex, rpc, selectcoins, stratum, tor, zmq, 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 Smart Chain options:

-ac_algo

    Choose PoW mining algorithm, default is Equihash (200,9)

-ac_blocktime

    Block time in seconds, default is 60

-ac_cc

    Cryptoconditions, default 0

-ac_beam

    BEAM integration

-ac_coda

    CODA integration

-ac_cclib

    Cryptoconditions dynamicly loadable library

-ac_ccenable

    Cryptoconditions to enable

-ac_ccactivate

    Block height to enable Cryptoconditions

-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_reward

    Block reward in satoshis, default is 0

-ac_sapling

    Sapling activation block height

-ac_script

    P2SH/multisig address to receive founders rewards

-ac_supply

    Starting supply, default is 0

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