From 868d785311e7b13e95e7b43541714b967a360dd0 Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 9 Jan 2025 16:27:16 -0500 Subject: [PATCH 1/3] docs(core): update core help output --- .../wallet-arguments-and-commands-dash-cli.md | 4 + .../wallet-arguments-and-commands-dash-qt.md | 2 + .../wallet-arguments-and-commands-dash-tx.md | 8 + ...llet-arguments-and-commands-dash-wallet.md | 8 + .../wallet-arguments-and-commands-dashd.md | 253 +++++++++++------- 5 files changed, 174 insertions(+), 101 deletions(-) diff --git a/docs/core/dashcore/wallet-arguments-and-commands-dash-cli.md b/docs/core/dashcore/wallet-arguments-and-commands-dash-cli.md index 54798024d..e6f1a78a6 100644 --- a/docs/core/dashcore/wallet-arguments-and-commands-dash-cli.md +++ b/docs/core/dashcore/wallet-arguments-and-commands-dash-cli.md @@ -43,6 +43,7 @@ View [the list of RPCs](../api/remote-procedure-call-quick-reference.md) for mor ### Options ```text + -? Print this help message and exit @@ -138,11 +139,13 @@ View [the list of RPCs](../api/remote-procedure-call-quick-reference.md) for mor -version Print version and exit + ``` ### Chain selection options ```text + -chain= Use the chain (default: main). Allowed values: main, test, regtest @@ -189,4 +192,5 @@ View [the list of RPCs](../api/remote-procedure-call-quick-reference.md) for mor -testnet Use the test chain. Equivalent to -chain=test + ``` diff --git a/docs/core/dashcore/wallet-arguments-and-commands-dash-qt.md b/docs/core/dashcore/wallet-arguments-and-commands-dash-qt.md index 8753d036e..c4c35c4ff 100644 --- a/docs/core/dashcore/wallet-arguments-and-commands-dash-qt.md +++ b/docs/core/dashcore/wallet-arguments-and-commands-dash-qt.md @@ -22,6 +22,7 @@ Dash Core QT GUI includes all the same command line options as [dashd](../dashco ### UI Options ```text + -choosedatadir Choose data directory on startup (default: 0) @@ -67,4 +68,5 @@ Dash Core QT GUI includes all the same command line options as [dashd](../dashco -windowtitle= Sets a window title which is appended to "Dash Core - " + ``` diff --git a/docs/core/dashcore/wallet-arguments-and-commands-dash-tx.md b/docs/core/dashcore/wallet-arguments-and-commands-dash-tx.md index 96c0fd10e..813b095f8 100644 --- a/docs/core/dashcore/wallet-arguments-and-commands-dash-tx.md +++ b/docs/core/dashcore/wallet-arguments-and-commands-dash-tx.md @@ -20,6 +20,7 @@ Usage: ### Options ```text + -? Print this help message and exit @@ -34,11 +35,13 @@ Usage: -version Print version and exit + ``` ### Chain selection options ```text + -chain= Use the chain (default: main). Allowed values: main, test, regtest @@ -85,11 +88,13 @@ Usage: -testnet Use the test chain. Equivalent to -chain=test + ``` ### Commands ```text + delin=N Delete input N from TX @@ -129,14 +134,17 @@ Usage: registers:prevtxs=JSON object, privatekeys=JSON object. See signrawtransactionwithkey docs for format of sighash flags, JSON objects. + ``` ### Register Commands ```text + load=NAME:FILENAME Load JSON file FILENAME into register NAME set=NAME:JSON-STRING Set register NAME to given JSON-STRING + ``` diff --git a/docs/core/dashcore/wallet-arguments-and-commands-dash-wallet.md b/docs/core/dashcore/wallet-arguments-and-commands-dash-wallet.md index 377c9c469..e96f89109 100644 --- a/docs/core/dashcore/wallet-arguments-and-commands-dash-wallet.md +++ b/docs/core/dashcore/wallet-arguments-and-commands-dash-wallet.md @@ -19,6 +19,7 @@ Usage: ### Options ```text + -? Print this help message and exit @@ -44,22 +45,26 @@ Usage: -wallet= Specify wallet name + ``` ### Debugging/Testing options ```text + -debug= Output debugging information (default: 0). -printtoconsole Send trace/debug info to console (default: 1 when no -debug is true, 0 otherwise). + ``` ### Chain selection options ```text + -chain= Use the chain (default: main). Allowed values: main, test, regtest @@ -106,11 +111,13 @@ Usage: -testnet Use the test chain. Equivalent to -chain=test + ``` ### Commands ```text + create Create new wallet file @@ -129,4 +136,5 @@ Usage: wipetxes Wipe all transactions from a wallet + ``` diff --git a/docs/core/dashcore/wallet-arguments-and-commands-dashd.md b/docs/core/dashcore/wallet-arguments-and-commands-dashd.md index 2fcc6b271..3f9108fbf 100644 --- a/docs/core/dashcore/wallet-arguments-and-commands-dashd.md +++ b/docs/core/dashcore/wallet-arguments-and-commands-dashd.md @@ -22,6 +22,7 @@ The following sections show all available options including debug options that a ### Options ```text + -? Print this help message and exit @@ -33,9 +34,9 @@ The following sections show all available options including debug options that a If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: - 000000000000001889bd33ef019065e250d32bd46911f4003d3fdd8128b5358d, + 000000000000001cf26547602d982dcaa909231bbcd1e70c0eb3c65de25473ba, testnet: - 00000034bfeb926662ba547c0b8dd4ba8cbb6e0c581f4e7d1bddce8f9ca3a608) + 000000eef20eb0062abd4e799967e98bdebb165dd1c567ab4118c1c86c6e948f) -blockfilterindex= Maintain an index of compact filters by block (default: 0, values: @@ -116,9 +117,9 @@ The following sections show all available options including debug options that a -minimumchainwork= Minimum work assumed to exist on a valid chain in hex (default: - 00000000000000000000000000000000000000000000988117deadb0db9cd5b8, + 000000000000000000000000000000000000000000009eb0f1d7fefc8750aebb, testnet: - 000000000000000000000000000000000000000000000000031779704a0f54b4) + 000000000000000000000000000000000000000000000000031ee38bc0876cef) -par= Set the number of script verification threads (-16 to 15, 0 = auto, <0 = @@ -136,12 +137,11 @@ The following sections show all available options including debug options that a blocks. This allows the pruneblockchain RPC to be called to delete specific blocks, and enables automatic pruning of old blocks if a target size in MiB is provided. This mode is - incompatible with -txindex, -coinstatsindex, -rescan and - -disablegovernance=false. Warning: Reverting this setting - requires re-downloading the entire blockchain. (default: 0 = - disable pruning blocks, 1 = allow manual pruning via RPC, >945 = - automatically prune block files to stay under the specified - target size in MiB) + incompatible with -txindex, -rescan and -disablegovernance=false. + Warning: Reverting this setting requires re-downloading the + entire blockchain. (default: 0 = disable pruning blocks, 1 = + allow manual pruning via RPC, >945 = automatically prune block + files to stay under the specified target size in MiB) -settings= Specify path to dynamic settings data file. Can be disabled with @@ -162,11 +162,13 @@ The following sections show all available options including debug options that a -version Print version and exit + ``` ### Connection options ```text + -addnode= Add a node to connect to and attempt to keep the connection open (see the addnode RPC help for more info). This option can be specified @@ -250,7 +252,8 @@ The following sections show all available options including debug options that a Maximum per-connection receive buffer, *1000 bytes (default: 5000) -maxsendbuffer= - Maximum per-connection send buffer, *1000 bytes (default: 1000) + Maximum per-connection memory usage for the send buffer, *1000 bytes + (default: 1000) -maxtimeadjustment Maximum allowed median peer time offset adjustment. Local perspective of @@ -258,9 +261,11 @@ The following sections show all available options including debug options that a amount. (default: 4200 seconds) -maxuploadtarget= - Tries to keep outbound traffic under the given target (in MiB per 24h). - Limit does not apply to peers with 'download' permission. 0 = no - limit (default: 0) + Tries to keep outbound traffic under the given target per 24h. Limit + does not apply to peers with 'download' permission or blocks + created within past week. 0 = no limit (default: 0M). Optional + suffix units [k|K|m|M|g|G|t|T] (default: M). Lowercase is 1000 + base while uppercase is 1024 base -natpmp Use NAT-PMP to map the listening port (default: 0) @@ -329,10 +334,16 @@ The following sections show all available options including debug options that a -torpassword= Tor control port password (default: empty) + -txreconciliation + Enable transaction reconciliations per BIP 330 (default: 0) + -upnp Use UPnP to map the listening port (default: 1 when listening and no -proxy) + -v2transport + Support v2 transport (default: 0) + -whitebind=<[permissions@]addr> Bind to the given address and add permission flags to the peers connecting to it. Use [host]:port notation for IPv6. Allowed @@ -352,22 +363,25 @@ The following sections show all available options including debug options that a (e.g. 1.2.3.4) or CIDR-notated network (e.g. 1.2.3.0/24). Uses the same permissions as -whitebind. Can be specified multiple times. + ``` ### Indexing options ```text + -addressindex Maintain a full address index, used to query for the balance, txids and unspent outputs for addresses (default: 0) -reindex - Rebuild chain state and block index from the blk*.dat files on disk + Rebuild chain state and block index from the blk*.dat files on disk. + This will also rebuild active optional indexes. -reindex-chainstate Rebuild chain state from the currently indexed blocks. When in pruning mode or if blocks on disk might be corrupted, use full -reindex - instead. + instead. Deactivate all optional indexes before running this. -spentindex Maintain a full spent index, used to query the spending txid and input @@ -380,15 +394,66 @@ The following sections show all available options including debug options that a -txindex Maintain a full transaction index, used by the getrawtransaction rpc call (default: 1) + ``` -### Wallet options +### Masternode options -:::{attention} -Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionality. This option was originally intended to allow for the fee bumping of transactions that did not signal RBF. This functionality has been superseded with the [abandon transaction capability](../api/remote-procedure-calls-wallet.md#abandontransaction) available via RPC/console or when right-clicking on unconfirmed transactions in Dash-Qt. -::: +```text + + -deprecated-platform-user= + Set the username for the "platform user", a restricted user intended to + be used by Dash Platform, to the specified username. + + -llmq-data-recovery= + Enable automated quorum data recovery (default: 1) + + -llmq-qvvec-sync=: + Defines from which LLMQ type the masternode should sync quorum + verification vectors. Can be used multiple times with different + LLMQ types. : 0 (sync always from all quorums of the type + defined by ), 1 (sync from all quorums of the type + defined by if a member of any of the quorums) + + -masternodeblsprivkey= + Set the masternode BLS private key and enable the client to act as a + masternode + +``` + +### Statsd options + +```text + + -statsbatchsize= + Specify the size of each batch of stats messages (default: 1024) + + -statsduration= + Specify the number of milliseconds between stats messages (default: + 1000) + + -statshost= + Specify statsd host (default: ) + + -statsperiod= + Specify the number of seconds between periodic measurements (default: + 60) + + -statsport= + Specify statsd port (default: 8125) + + -statsprefix= + Specify an optional string prepended to every stats key (default: ) + + -statssuffix= + Specify an optional string appended to every stats key (default: ) + +``` + +### Wallet options ```text + -avoidpartialspends Group outputs by address, selecting many (possibly all) or none, instead of selecting on a per-output basis. Privacy is improved as @@ -450,15 +515,20 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali -walletnotify= Execute command when a wallet transaction changes. %s in cmd is replaced - by TxID and %w is replaced by wallet name. %w is not currently + by TxID, %w is replaced by wallet name, %b is replaced by the + hash of the block including the transaction (set to 'unconfirmed' + if the transaction is not included) and %h is replaced by the + block height (-1 if not included). %w is not currently implemented on windows. On systems where %w is supported, it should NOT be quoted because this would break shell escaping used to invoke the command. + ``` ### Wallet fee options ```text + -discardfee= The fee rate (in DASH/kB) that indicates your tolerance for discarding change by adding it to the fee (default: 0.0001). Note: An output @@ -481,11 +551,13 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali -txconfirmtarget= If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: 6) + ``` ### HD wallet options ```text + -hdseed= User defined seed for HD wallet (should be in hex). Only has effect during wallet creation/first start (default: randomly generated) @@ -506,11 +578,13 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali -usehd Use hierarchical deterministic key generation (HD) after BIP39/BIP44. Only has effect during wallet creation/first start (default: 1) + ``` ### CoinJoin options ```text + -coinjoinamount= Target CoinJoin balance (2-21000000, default: 1000) @@ -538,11 +612,39 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali -enablecoinjoin Enable use of CoinJoin for funds stored in this wallet (0-1, default: 0) + +``` + +### Wallet debugging/testing options + +```text + + -dblogsize= + Flush wallet database activity from memory to disk log every + megabytes (default: 100) + + -flushwallet + Run a thread to flush wallet periodically (default: 1) + + -privdb + Sets the DB_PRIVATE flag in the wallet db environment (default: 1) + + -unsafesqlitesync + Set SQLite synchronous=OFF to disable waiting for the database to sync + to disk. This is unsafe and can cause data loss and corruption. + This option is only used by tests to improve their performance + (default: false) + + -walletrejectlongchains + Wallet will not create transactions that violate mempool chain limits + (default: 0) + ``` ### ZeroMQ notification options ```text + -zmqpubhashblock=
Enable publish hash block in
@@ -672,13 +774,18 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali -zmqpubrawtxlocksighwm= Set publish raw transaction lock signature outbound message high water mark (default: 1000) + + -zmqpubsequence=
+ Enable publish hash block and tx sequence in
+ + -zmqpubsequencehwm= + Set publish hash sequence message high water mark (default: 1000) + ``` ### Debugging/Testing options ```text - -addrmantest - Allows to test address relay on localhost -capturemessages Capture all P2P messages to disk @@ -707,18 +814,19 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali -checkpoints Enable rejection of any forks from the known historical chain until - block 2109672 (default: 1) + block 2175051 (default: 1) -debug= Output debugging information (default: -nodebug, supplying is optional). If is not supplied or if = 1, output all debugging information. can be: addrman, bench, chainlocks, cmpctblock, coindb, coinjoin, creditpool, ehf, - estimatefee, gobject, http, i2p, instantsend, leveldb, libevent, - llmq, llmq-dkg, llmq-sigs, lock, mempool, mempoolrej, mnpayments, - mnsync, net, netconn, proxy, prune, qt, rand, reindex, rpc, - selectcoins, spork, tor, validation, walletdb, zmq. This option - can be specified multiple times to output multiple categories. + estimatefee, gobject, http, i2p, instantsend, ipc, leveldb, + libevent, llmq, llmq-dkg, llmq-sigs, lock, mempool, mempoolrej, + mnpayments, mnsync, net, netconn, proxy, prune, qt, rand, + reindex, rpc, selectcoins, spork, tor, txreconciliation, + validation, walletdb, zmq. This option can be specified multiple + times to output multiple categories. -debugexclude= Exclude debugging information for a category. Can be used in conjunction @@ -769,6 +877,9 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali -logtimemicros Add microsecond precision to debug timestamps (default: 0) + -logtimestamps + Prepend debug output with timestamp (default: 1) + -maxsigcachesize= Limit sum of signature cache and script execution cache sizes to MiB (default: 32) @@ -787,7 +898,7 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali you. -mocktime= - Replace actual time with UNIX epoch time(default: 0) + Replace actual time with UNIX epoch time (default: 0) -printpriority Log transaction fee per kB when mining blocks (default: 0) @@ -816,16 +927,22 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali Stop running after reaching the given height in the main chain (default: 0) + -testactivationheight=name@height. + Set the activation height of 'name' (bip147, bip34, dersig, cltv, csv, + brr, dip0001, dip0008, v20, mn_rr). (regtest-only) + -uacomment= Append comment to the user agent string -watchquorums= Watch and validate quorum communication (default: 0) + ``` ### Chain selection options ```text + -bip147height= Override BIP147 activation height (regtest-only) @@ -907,33 +1024,13 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali version bits deployment (regtest-only). Specifying window, threshold/thresholdstart, thresholdmin, falloffcoeff and mnactivation is optional. -``` -### Masternode options - -```text - -llmq-data-recovery= - Enable automated quorum data recovery (default: 1) - - -llmq-qvvec-sync=: - Defines from which LLMQ type the masternode should sync quorum - verification vectors. Can be used multiple times with different - LLMQ types. : 0 (sync always from all quorums of the type - defined by ), 1 (sync from all quorums of the type - defined by if a member of any of the quorums) - - -masternodeblsprivkey= - Set the masternode BLS private key and enable the client to act as a - masternode - - -platform-user= - Set the username for the "platform user", a restricted user intended to - be used by Dash Platform, to the specified username. ``` ### Node relay options ```text + -acceptnonstdtxn Relay and mine "non-standard" transactions (testnet/regtest only; default: 1) @@ -971,11 +1068,13 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali Add 'relay' permission to whitelisted inbound peers with default permissions. This will accept relayed transactions even when not relaying transactions (default: 1) + ``` ### Block creation options ```text + -blockmaxsize= Set maximum block size in bytes (default: 2000000) @@ -985,11 +1084,13 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali -blockversion= Override block version to test forking scenarios + ``` ### RPC server options ```text + -rest Accept public REST requests (default: 0) @@ -1063,57 +1164,7 @@ Dash Core 18.1.0 removed the `-zapwallettxes` startup option and its functionali -server Accept command line and JSON-RPC commands -``` -### Statsd options - -```text - -statsenabled - Publish internal stats to statsd (default: 0) - - -statshost= - Specify statsd host (default: 127.0.0.1) - - -statshostname= - Specify statsd host name (default: ) - - -statsns= - Specify additional namespace prefix (default: ) - - -statsperiod= - Specify the number of seconds between periodic measurements (default: - 60) - - -statsport= - Specify statsd port (default: 8125) -``` - -### Wallet debugging/testing options - -:::{attention} -These options are normally hidden and will only be shown if using the help debug option: `dashd --held -help-debug` -::: - -```text - -dblogsize= - Flush wallet database activity from memory to disk log every - megabytes (default: 100) - - -flushwallet - Run a thread to flush wallet periodically (default: 1) - - -privdb - Sets the DB_PRIVATE flag in the wallet db environment (default: 1) - - -unsafesqlitesync - Set SQLite synchronous=OFF to disable waiting for the database to sync - to disk. This is unsafe and can cause data loss and corruption. - This option is only used by tests to improve their performance - (default: false) - - -walletrejectlongchains - Wallet will not create transactions that violate mempool chain limits - (default: 0) ``` ## Network Dependent Options From 42f24c78ba4359af58844ba3ffd584f6c308e39a Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 9 Jan 2025 16:35:04 -0500 Subject: [PATCH 2/3] docs(core): add script to help update core help pages --- scripts/core-help-parsing.sh | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 scripts/core-help-parsing.sh diff --git a/scripts/core-help-parsing.sh b/scripts/core-help-parsing.sh new file mode 100644 index 000000000..863a74451 --- /dev/null +++ b/scripts/core-help-parsing.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# Parse the output of Dash Core help into the format for the +# docs/core/dashcore/wallet-arguments-and-commands-dash-* files. The script output can be copied +# into the relevant sections of those files to update them. + +# Examples: +# dash-qt --help-debug | ./scripts/core-help-parsing.sh +# dash-cli --help | ./scripts/core-help-parsing.sh + +# Ensure input is being piped +if [ -t 0 ]; then + echo "Error: This script only accepts piped input. Try piping the output of 'dashd --help' into it." >&2 + exit 1 +fi + +# Read the piped input and process sections +in_code_block=false +while IFS= read -r line; do + # Match section headers (e.g., "Options:") + if [[ "$line" =~ ^[A-Za-z].*:$ ]]; then + # Close the previous code block if it's open + if [[ "$in_code_block" == "true" ]]; then + echo '```' + echo + fi + + # Write the new section heading + echo "### ${line%:}" + echo + echo '```text' + in_code_block=true + else + # Append all lines (including blank ones) to the current section's code block + if [[ "$in_code_block" == "true" ]]; then + echo "$line" + fi + fi +done + +# Close the last code block if it's open +if [[ "$in_code_block" == "true" ]]; then + echo '```' +fi From 3dbe4855b1e5eb9bd61293f4ebeb325659872a51 Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 9 Jan 2025 16:58:48 -0500 Subject: [PATCH 3/3] docs(core): update qt options --- .../wallet-arguments-and-commands-dash-qt.md | 1152 ++++++++++++++++- 1 file changed, 1151 insertions(+), 1 deletion(-) diff --git a/docs/core/dashcore/wallet-arguments-and-commands-dash-qt.md b/docs/core/dashcore/wallet-arguments-and-commands-dash-qt.md index c4c35c4ff..d093abdb0 100644 --- a/docs/core/dashcore/wallet-arguments-and-commands-dash-qt.md +++ b/docs/core/dashcore/wallet-arguments-and-commands-dash-qt.md @@ -17,7 +17,1157 @@ dash-qt [command-line options] The following sections show all available options including debug options that are not normally displayed. To see only regular options, run dash-qt --help. ::: -Dash Core QT GUI includes all the same command line options as [dashd](../dashcore/wallet-arguments-and-commands-dashd.md) with the exception of `-daemon`. It also provides additional options for UI as described below. +Dash Core QT GUI command line options are similar to +[dashd](../dashcore/wallet-arguments-and-commands-dashd.md). It also provides access to [UI +options](#ui-options). + +### Options + +```text + + -? + Print this help message and exit + + -alertnotify= + Execute command when an alert is raised (%s in cmd is replaced by + message) + + -assumevalid= + If this block is in the chain assume that it and its ancestors are valid + and potentially skip their script verification (0 to verify all, + default: + 000000000000001cf26547602d982dcaa909231bbcd1e70c0eb3c65de25473ba, + testnet: + 000000eef20eb0062abd4e799967e98bdebb165dd1c567ab4118c1c86c6e948f) + + -blockfilterindex= + Maintain an index of compact filters by block (default: 0, values: + basic). If is not supplied or if = 1, indexes for + all known types are enabled. + + -blocknotify= + Execute command when the best block changes (%s in cmd is replaced by + block hash) + + -blockreconstructionextratxn= + Extra transactions to keep in memory for compact block reconstructions + (default: 100) + + -blocksdir= + Specify directory to hold blocks subdirectory for *.dat files (default: + ) + + -blocksonly + Whether to reject transactions from network peers. Automatic broadcast + and rebroadcast of any transactions from inbound peers is + disabled, unless the peer has the 'forcerelay' permission. RPC + transactions are not affected. (default: 0) + + -chainlocknotify= + Execute command when the best chainlock changes (%s in cmd is replaced + by chainlocked block hash) + + -coinstatsindex + Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0) + + -conf= + Specify path to read-only configuration file. Relative paths will be + prefixed by datadir location. (default: dash.conf) + + -daemon + Run in the background as a daemon and accept commands (default: 0) + + -daemonwait + Wait for initialization to be finished before exiting. This implies + -daemon (default: 0) + + -datadir= + Specify data directory + + -dbbatchsize + Maximum database write batch size in bytes (default: 16777216) + + -dbcache= + Maximum database cache size MiB (4 to 16384, default: 300). In + addition, unused mempool memory is shared for this cache (see + -maxmempool). + + -debuglogfile= + Specify location of debug log file. Relative paths will be prefixed by a + net-specific datadir location. (-nodebuglogfile to disable; + default: debug.log) + + -includeconf= + Specify additional configuration file, relative to the -datadir path + (only useable from configuration file, not command line) + + -loadblock= + Imports blocks from external file on startup + + -maxmempool= + Keep the transaction memory pool below megabytes (default: 300) + + -maxorphantxsize= + Maximum total size of all orphan transactions in megabytes (default: 10) + + -maxrecsigsage= + Number of seconds to keep LLMQ recovery sigs (default: 604800) + + -mempoolexpiry= + Do not keep transactions in the mempool longer than hours (default: + 336) + + -minimumchainwork= + Minimum work assumed to exist on a valid chain in hex (default: + 000000000000000000000000000000000000000000009eb0f1d7fefc8750aebb, + testnet: + 000000000000000000000000000000000000000000000000031ee38bc0876cef) + + -par= + Set the number of script verification threads (-16 to 15, 0 = auto, <0 = + leave that many cores free, default: 0) + + -persistmempool + Whether to save the mempool on shutdown and load on restart (default: 1) + + -pid= + Specify pid file. Relative paths will be prefixed by a net-specific + datadir location. (default: dashd.pid) + + -prune= + Reduce storage requirements by enabling pruning (deleting) of old + blocks. This allows the pruneblockchain RPC to be called to + delete specific blocks, and enables automatic pruning of old + blocks if a target size in MiB is provided. This mode is + incompatible with -txindex, -rescan and -disablegovernance=false. + Warning: Reverting this setting requires re-downloading the + entire blockchain. (default: 0 = disable pruning blocks, 1 = + allow manual pruning via RPC, >945 = automatically prune block + files to stay under the specified target size in MiB) + + -settings= + Specify path to dynamic settings data file. Can be disabled with + -nosettings. File is written at runtime and not meant to be + edited by users (use dash.conf instead for custom settings). + Relative paths will be prefixed by datadir location. (default: + settings.json) + + -startupnotify= + Execute command on startup. + + -syncmempool + Sync mempool from other nodes on start (default: 1) + + -sysperms + Create new files with system default permissions, instead of umask 077 + (only effective with disabled wallet functionality) + + -version + Print version and exit + +``` + +### Connection options + +```text + + -addnode= + Add a node to connect to and attempt to keep the connection open (see + the addnode RPC help for more info). This option can be specified + multiple times to add multiple nodes; connections are limited to + 8 at a time and are counted separately from the -maxconnections + limit. + + -allowprivatenet + Allow RFC1918 addresses to be relayed and connected to (default: 0) + + -asmap= + Specify asn mapping used for bucketing of the peers (default: + ip_asn.map). Relative paths will be prefixed by the net-specific + datadir location. + + -bantime= + Default duration (in seconds) of manually configured bans (default: + 86400) + + -bind=[:][=onion] + Bind to given address and always listen on it (default: 0.0.0.0). Use + [host]:port notation for IPv6. Append =onion to tag any incoming + connections to that address and port as incoming Tor connections + (default: 127.0.0.1:9996=onion, testnet: 127.0.0.1:19996=onion, + regtest: 127.0.0.1:19896=onion) + + -cjdnsreachable + If set, then this host is configured for CJDNS (connecting to fc00::/8 + addresses would lead us to the CJDNS network, see doc/cjdns.md) + (default: 0) + + -connect= + Connect only to the specified node; -noconnect disables automatic + connections (the rules for this peer are the same as for + -addnode). This option can be specified multiple times to connect + to multiple nodes. + + -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 used) + + -externalip= + Specify your own public address + + -fixedseeds + Allow fixed seeds if DNS seeds don't provide peers (default: 1) + + -forcednsseed + Always query for peer addresses via DNS lookup (default: 0) + + -i2pacceptincoming + Whether to accept inbound I2P connections (default: 1). Ignored if + -i2psam is not set. Listening for inbound I2P connections is done + through the SAM proxy, not by binding to a local address and + port. + + -i2psam= + I2P SAM proxy to reach I2P peers and accept I2P connections (default: + none) + + -listen + Accept connections from outside (default: 1 if no -proxy or -connect) + + -listenonion + Automatically create Tor onion service (default: 1) + + -maxconnections= + Maintain at most connections to peers (temporary service connections + excluded) (default: 125). This limit does not apply to + connections manually added via -addnode or the addnode RPC, which + have a separate limit of 8. + + -maxreceivebuffer= + Maximum per-connection receive buffer, *1000 bytes (default: 5000) + + -maxsendbuffer= + Maximum per-connection memory usage for the send buffer, *1000 bytes + (default: 1000) + + -maxtimeadjustment + Maximum allowed median peer time offset adjustment. Local perspective of + time may be influenced by peers forward or backward by this + amount. (default: 4200 seconds) + + -maxuploadtarget= + Tries to keep outbound traffic under the given target per 24h. Limit + does not apply to peers with 'download' permission or blocks + created within past week. 0 = no limit (default: 0M). Optional + suffix units [k|K|m|M|g|G|t|T] (default: M). Lowercase is 1000 + base while uppercase is 1024 base + + -natpmp + Use NAT-PMP to map the listening port (default: 0) + + -networkactive + Enable all P2P network activity (default: 1). Can be changed by the + setnetworkactive RPC command + + -onion= + Use separate SOCKS5 proxy to reach peers via Tor onion services, set + -noonion to disable (default: -proxy) + + -onlynet= + Make automatic outbound connections only to network (ipv4, ipv6, + onion, i2p, cjdns). Inbound and manual connections are not + affected by this option. It can be specified multiple times to + allow multiple networks. + + -peerblockfilters + Serve compact block filters to peers per BIP 157 (default: 0) + + -peerbloomfilters + Support filtering of blocks and transaction with bloom filters (default: + 1) + + -peertimeout= + Specify a p2p connection timeout delay in seconds. After connecting to a + peer, wait this amount of time before considering disconnection + based on inactivity (minimum: 1, default: 60) + + -permitbaremultisig + Relay non-P2SH multisig (default: 1) + + -port= + Listen for connections on . Nodes not using the default ports + (default: 9999, testnet: 19999, regtest: 19899) are unlikely to + get incoming connections. Not relevant for I2P (see doc/i2p.md). + + -proxy= + Connect through SOCKS5 proxy, set -noproxy to disable (default: + disabled) + + -proxyrandomize + Randomize credentials for every proxy connection. This enables Tor + stream isolation (default: 1) + + -seednode= + Connect to a node to retrieve peer addresses, and disconnect. This + option can be specified multiple times to connect to multiple + nodes. + + -socketevents= + Socket events mode, which must be one of 'select', 'poll', 'epoll' or + 'kqueue', depending on your system (default: Linux - 'epoll', + FreeBSD/Apple - 'kqueue', Windows - 'select') + + -timeout= + Specify socket connection timeout in milliseconds. If an initial attempt + to connect is unsuccessful after this amount of time, drop it + (minimum: 1, default: 5000) + + -torcontrol=: + Tor control port to use if onion listening enabled (default: + 127.0.0.1:9051) + + -torpassword= + Tor control port password (default: empty) + + -txreconciliation + Enable transaction reconciliations per BIP 330 (default: 0) + + -upnp + Use UPnP to map the listening port (default: 1 when listening and no + -proxy) + + -v2transport + Support v2 transport (default: 0) + + -whitebind=<[permissions@]addr> + Bind to the given address and add permission flags to the peers + connecting to it. Use [host]:port notation for IPv6. Allowed + permissions: bloomfilter (allow requesting BIP37 filtered blocks + and transactions), noban (do not ban for misbehavior; implies + download), forcerelay (relay transactions that are already in the + mempool; implies relay), relay (relay even in -blocksonly mode), + mempool (allow requesting BIP35 mempool contents), download + (allow getheaders during IBD, no disconnect after maxuploadtarget + limit), addr (responses to GETADDR avoid hitting the cache and + contain random records with the most up-to-date info). Specify + multiple permissions separated by commas (default: + download,noban,mempool,relay). Can be specified multiple times. + + -whitelist=<[permissions@]IP address or network> + Add permission flags to the peers connecting from the given IP address + (e.g. 1.2.3.4) or CIDR-notated network (e.g. 1.2.3.0/24). Uses + the same permissions as -whitebind. Can be specified multiple + times. + +``` + +### Indexing options + +```text + + -addressindex + Maintain a full address index, used to query for the balance, txids and + unspent outputs for addresses (default: 0) + + -reindex + Rebuild chain state and block index from the blk*.dat files on disk. + This will also rebuild active optional indexes. + + -reindex-chainstate + Rebuild chain state from the currently indexed blocks. When in pruning + mode or if blocks on disk might be corrupted, use full -reindex + instead. Deactivate all optional indexes before running this. + + -spentindex + Maintain a full spent index, used to query the spending txid and input + index for an outpoint (default: 0) + + -timestampindex + Maintain a timestamp index for block hashes, used to query blocks hashes + by a range of timestamps (default: 0) + + -txindex + Maintain a full transaction index, used by the getrawtransaction rpc + call (default: 1) + +``` + +### Masternode options + +```text + + -deprecated-platform-user= + Set the username for the "platform user", a restricted user intended to + be used by Dash Platform, to the specified username. + + -llmq-data-recovery= + Enable automated quorum data recovery (default: 1) + + -llmq-qvvec-sync=: + Defines from which LLMQ type the masternode should sync quorum + verification vectors. Can be used multiple times with different + LLMQ types. : 0 (sync always from all quorums of the type + defined by ), 1 (sync from all quorums of the type + defined by if a member of any of the quorums) + + -masternodeblsprivkey= + Set the masternode BLS private key and enable the client to act as a + masternode + +``` + +### Statsd options + +```text + + -statsbatchsize= + Specify the size of each batch of stats messages (default: 1024) + + -statsduration= + Specify the number of milliseconds between stats messages (default: + 1000) + + -statshost= + Specify statsd host (default: ) + + -statsperiod= + Specify the number of seconds between periodic measurements (default: + 60) + + -statsport= + Specify statsd port (default: 8125) + + -statsprefix= + Specify an optional string prepended to every stats key (default: ) + + -statssuffix= + Specify an optional string appended to every stats key (default: ) + +``` + +### Wallet options + +```text + + -avoidpartialspends + Group outputs by address, selecting many (possibly all) or none, instead + of selecting on a per-output basis. Privacy is improved as + addresses are mostly swept with fewer transactions and outputs + are aggregated in clean change addresses. It may result in higher + fees due to less optimal coin selection caused by this added + limitation and possibly a larger-than-necessary number of inputs + being used. Always enabled for wallets with "avoid_reuse" + enabled, otherwise default: 0. + + -createwalletbackups= + Number of automatic wallet backups (default: 10) + + -disablewallet + Do not load the wallet and disable wallet RPC calls + + -instantsendnotify= + Execute command when a wallet InstantSend transaction is successfully + locked. %s in cmd is replaced by TxID and %w is replaced by + wallet name. %w is not currently implemented on Windows. On + systems where %w is supported, it should NOT be quoted because + this would break shell escaping used to invoke the command. + + -keypool= + Set key pool size to (default: 1000). Warning: Smaller sizes may + increase the risk of losing funds when restoring from an old + backup, if none of the addresses in the original keypool have + been used. + + -maxapsfee= + Spend up to this amount in additional (absolute) fees (in DASH) if it + allows the use of partial spend avoidance (default: 0.00) + + -rescan= + Rescan the block chain for missing wallet transactions on startup (1 = + start from wallet creation time, 2 = start from genesis block) + + -spendzeroconfchange + Spend unconfirmed change when sending transactions (default: 1) + + -wallet= + Specify wallet path to load at startup. Can be used multiple times to + load multiple wallets. Path is to a directory containing wallet + data and log files. If the path is not absolute, it is + interpreted relative to . This only loads existing + wallets and does not create new ones. For backwards compatibility + this also accepts names of existing top-level data files in + . + + -walletbackupsdir= + Specify full path to directory for automatic wallet backups (must exist) + + -walletbroadcast + Make the wallet broadcast transactions (default: 1) + + -walletdir= + Specify directory to hold wallets (default: /wallets if it + exists, otherwise ) + + -walletnotify= + Execute command when a wallet transaction changes. %s in cmd is replaced + by TxID, %w is replaced by wallet name, %b is replaced by the + hash of the block including the transaction (set to 'unconfirmed' + if the transaction is not included) and %h is replaced by the + block height (-1 if not included). %w is not currently + implemented on windows. On systems where %w is supported, it + should NOT be quoted because this would break shell escaping used + to invoke the command. + +``` + +### Wallet fee options + +```text + + -discardfee= + The fee rate (in DASH/kB) that indicates your tolerance for discarding + change by adding it to the fee (default: 0.0001). Note: An output + is discarded if it is dust at this rate, but we will always + discard up to the dust relay fee and a discard fee above that is + limited by the fee estimate for the longest target + + -fallbackfee= + A fee rate (in DASH/kB) that will be used when fee estimation has + insufficient data. 0 to entirely disable the fallbackfee feature. + (default: 0.00001) + + -mintxfee= + Fee rates (in DASH/kB) smaller than this are considered zero fee for + transaction creation (default: 0.00001) + + -paytxfee= + Fee rate (in DASH/kB) to add to transactions you send (default: 0.00) + + -txconfirmtarget= + If paytxfee is not set, include enough fee so transactions begin + confirmation on average within n blocks (default: 6) + +``` + +### HD wallet options + +```text + + -hdseed= + User defined seed for HD wallet (should be in hex). Only has effect + during wallet creation/first start (default: randomly generated) + + -mnemonic= + User defined mnemonic for HD wallet (bip39). Only has effect during + wallet creation/first start (default: randomly generated) + + -mnemonicbits= + User defined mnemonic security for HD wallet in bits (BIP39). Only has + effect during wallet creation/first start (allowed values: 128, + 160, 192, 224, 256; default: 128) + + -mnemonicpassphrase= + User defined mnemonic passphrase for HD wallet (BIP39). Only has effect + during wallet creation/first start (default: empty string) + + -usehd + Use hierarchical deterministic key generation (HD) after BIP39/BIP44. + Only has effect during wallet creation/first start (default: 1) + +``` + +### CoinJoin options + +```text + + -coinjoinamount= + Target CoinJoin balance (2-21000000, default: 1000) + + -coinjoinautostart + Start CoinJoin automatically (0-1, default: 0) + + -coinjoindenomsgoal= + Try to create at least N inputs of each denominated amount (10-100000, + default: 50) + + -coinjoindenomshardcap= + Create up to N inputs of each denominated amount (10-100000, default: + 300) + + -coinjoinmultisession + Enable multiple CoinJoin mixing sessions per block, experimental (0-1, + default: 0) + + -coinjoinrounds= + Use N separate masternodes for each denominated input to mix funds + (2-16, default: 4) + + -coinjoinsessions= + Use N separate masternodes in parallel to mix funds (1-10, default: 4) + + -enablecoinjoin + Enable use of CoinJoin for funds stored in this wallet (0-1, default: 0) + +``` + +### Wallet debugging/testing options + +```text + + -dblogsize= + Flush wallet database activity from memory to disk log every + megabytes (default: 100) + + -flushwallet + Run a thread to flush wallet periodically (default: 1) + + -privdb + Sets the DB_PRIVATE flag in the wallet db environment (default: 1) + + -unsafesqlitesync + Set SQLite synchronous=OFF to disable waiting for the database to sync + to disk. This is unsafe and can cause data loss and corruption. + This option is only used by tests to improve their performance + (default: false) + + -walletrejectlongchains + Wallet will not create transactions that violate mempool chain limits + (default: 0) + +``` + +### ZeroMQ notification options + +```text + + -zmqpubhashblock=
+ Enable publish hash block in
+ + -zmqpubhashblockhwm= + Set publish hash block outbound message high water mark (default: 1000) + + -zmqpubhashchainlock=
+ Enable publish hash block (locked via ChainLocks) in
+ + -zmqpubhashchainlockhwm= + Set publish hash chain lock outbound message high water mark (default: + 1000) + + -zmqpubhashgovernanceobject=
+ Enable publish hash of governance objects (like proposals) in
+ + -zmqpubhashgovernanceobjecthwm= + Set publish hash governance object outbound message high water mark + (default: 1000) + + -zmqpubhashgovernancevote=
+ Enable publish hash of governance votes in
+ + -zmqpubhashgovernancevotehwm= + Set publish hash governance vote outbound message high water mark + (default: 1000) + + -zmqpubhashinstantsenddoublespend=
+ Enable publish transaction hashes of attempted InstantSend double spend + in
+ + -zmqpubhashinstantsenddoublespendhwm= + Set publish hash InstantSend double spend outbound message high water + mark (default: 1000) + + -zmqpubhashrecoveredsig=
+ Enable publish message hash of recovered signatures (recovered by LLMQs) + in
+ + -zmqpubhashrecoveredsighwm= + Set publish hash recovered signature outbound message high water mark + (default: 1000) + + -zmqpubhashtx=
+ Enable publish hash transaction in
+ + -zmqpubhashtxhwm= + Set publish hash transaction outbound message high water mark (default: + 1000) + + -zmqpubhashtxlock=
+ Enable publish hash transaction (locked via InstantSend) in
+ + -zmqpubhashtxlockhwm= + Set publish hash transaction lock outbound message high water mark + (default: 1000) + + -zmqpubrawblock=
+ Enable publish raw block in
+ + -zmqpubrawblockhwm= + Set publish raw block outbound message high water mark (default: 1000) + + -zmqpubrawchainlock=
+ Enable publish raw block (locked via ChainLocks) in
+ + -zmqpubrawchainlockhwm= + Set publish raw chain lock outbound message high water mark (default: + 1000) + + -zmqpubrawchainlocksig=
+ Enable publish raw block (locked via ChainLocks) and CLSIG message in +
+ + -zmqpubrawchainlocksighwm= + Set publish raw chain lock signature outbound message high water mark + (default: 1000) + + -zmqpubrawgovernanceobject=
+ Enable publish raw governance votes in
+ + -zmqpubrawgovernanceobjecthwm= + Set publish raw governance object outbound message high water mark + (default: 1000) + + -zmqpubrawgovernancevote=
+ Enable publish raw governance objects (like proposals) in
+ + -zmqpubrawgovernancevotehwm= + Set publish raw governance vote outbound message high water mark + (default: 1000) + + -zmqpubrawinstantsenddoublespend=
+ Enable publish raw transactions of attempted InstantSend double spend in +
+ + -zmqpubrawinstantsenddoublespendhwm= + Set publish raw InstantSend double spend outbound message high water + mark (default: 1000) + + -zmqpubrawrecoveredsig=
+ Enable publish raw recovered signatures (recovered by LLMQs) in +
+ + -zmqpubrawrecoveredsighwm= + Set publish raw recovered signature outbound message high water mark + (default: 1000) + + -zmqpubrawtx=
+ Enable publish raw transaction in
+ + -zmqpubrawtxhwm= + Set publish raw transaction outbound message high water mark (default: + 1000) + + -zmqpubrawtxlock=
+ Enable publish raw transaction (locked via InstantSend) in
+ + -zmqpubrawtxlockhwm= + Set publish raw transaction lock outbound message high water mark + (default: 1000) + + -zmqpubrawtxlocksig=
+ Enable publish raw transaction (locked via InstantSend) and ISLOCK in +
+ + -zmqpubrawtxlocksighwm= + Set publish raw transaction lock signature outbound message high water + mark (default: 1000) + + -zmqpubsequence=
+ Enable publish hash block and tx sequence in
+ + -zmqpubsequencehwm= + Set publish hash sequence message high water mark (default: 1000) + +``` + +### Debugging/Testing options + +```text + + -capturemessages + Capture all P2P messages to disk + + -checkaddrman= + Run addrman consistency checks every operations. Use 0 to disable. + (default: 0) + + -checkblockindex + Do a consistency check for the block tree, and occasionally. (default: + 0, regtest: 1) + + -checkblocks= + How many blocks to check at startup (default: 6, 0 = all) + + -checklevel= + How thorough the block verification of -checkblocks is: level 0 reads + the blocks from disk, level 1 verifies block validity, level 2 + verifies undo data, level 3 checks disconnection of tip blocks, + level 4 tries to reconnect the blocks, each level includes the + checks of the previous levels (0-4, default: 3) + + -checkmempool= + Run mempool consistency checks every transactions. Use 0 to disable. + (default: 0, regtest: 1) + + -checkpoints + Enable rejection of any forks from the known historical chain until + block 2175051 (default: 1) + + -debug= + Output debugging information (default: -nodebug, supplying is + optional). If is not supplied or if = 1, + output all debugging information. can be: addrman, + bench, chainlocks, cmpctblock, coindb, coinjoin, creditpool, ehf, + estimatefee, gobject, http, i2p, instantsend, ipc, leveldb, + libevent, llmq, llmq-dkg, llmq-sigs, lock, mempool, mempoolrej, + mnpayments, mnsync, net, netconn, proxy, prune, qt, rand, + reindex, rpc, selectcoins, spork, tor, txreconciliation, + validation, walletdb, zmq. This option can be specified multiple + times to output multiple categories. + + -debugexclude= + Exclude debugging information for a category. Can be used in conjunction + with -debug=1 to output debug logs for all categories except the + specified category. This option can be specified multiple times + to exclude multiple categories. + + -deprecatedrpc= + Allows deprecated RPC method(s) to be used + + -disablegovernance + Disable governance validation (0-1, default: 0) + + -fastprune + Use smaller block files and lower minimum prune height for testing + purposes + + -help-debug + Print help message with debugging options and exit + + -limitancestorcount= + Do not accept transactions if number of in-mempool ancestors is or + more (default: 25) + + -limitancestorsize= + Do not accept transactions whose size with all in-mempool ancestors + exceeds kilobytes (default: 101) + + -limitdescendantcount= + Do not accept transactions if any ancestor would have or more + in-mempool descendants (default: 25) + + -limitdescendantsize= + Do not accept transactions if any ancestor would have more than + kilobytes of in-mempool descendants (default: 101). + + -logips + Include IP addresses in debug output (default: 0) + + -logsourcelocations + Prepend debug output with name of the originating source location + (source file, line number and function name) (default: 0) + + -logthreadnames + Prepend debug output with name of the originating thread (only available + on platforms supporting thread_local) (default: 0) + + -logtimemicros + Add microsecond precision to debug timestamps (default: 0) + + -logtimestamps + Prepend debug output with timestamp (default: 1) + + -maxsigcachesize= + Limit sum of signature cache and script execution cache sizes to MiB + (default: 32) + + -maxtipage= + Maximum tip age in seconds to consider node in initial block download + (default: 21600) + + -maxtxfee= + Maximum total fees (in DASH) to use in a single wallet transaction; + setting this too low may abort large transactions (default: 0.10) + + -minsporkkeys= + Overrides minimum spork signers to change spork value. Only useful for + regtest and devnet. Using this on mainnet or testnet will ban + you. + + -mocktime= + Replace actual time with UNIX epoch time (default: 0) + + -printpriority + Log transaction fee per kB when mining blocks (default: 0) + + -printtoconsole + Send trace/debug info to console (default: 1 when no -daemon. To disable + logging to file, set -nodebuglogfile) + + -pushversion + Protocol version to report to other nodes + + -shrinkdebugfile + Shrink debug.log file on client startup (default: 1 when no -debug) + + -sporkaddr= + Override spork address. Only useful for regtest and devnet. Using this + on mainnet or testnet will ban you. + + -sporkkey= + Set the private key to be used for signing spork messages. + + -stopafterblockimport + Stop running after importing blocks from disk (default: 0) + + -stopatheight + Stop running after reaching the given height in the main chain (default: + 0) + + -testactivationheight=name@height. + Set the activation height of 'name' (bip147, bip34, dersig, cltv, csv, + brr, dip0001, dip0008, v20, mn_rr). (regtest-only) + + -uacomment= + Append comment to the user agent string + + -watchquorums= + Watch and validate quorum communication (default: 0) + +``` + +### Chain selection options + +```text + + -bip147height= + Override BIP147 activation height (regtest-only) + + -budgetparams=:: + Override masternode, budget and superblock start heights (regtest-only) + + -chain= + Use the chain (default: main). Allowed values: main, test, + regtest + + -devnet= + Use devnet chain with provided name + + -dip3params=: + Override DIP3 activation and enforcement heights (regtest-only) + + -dip8params= + Override DIP8 activation height (regtest-only) + + -highsubsidyblocks= + The number of blocks with a higher than normal subsidy to mine at the + start of a chain. Block after that height will have fixed subsidy + base. (default: 0, devnet-only) + + -highsubsidyfactor= + The factor to multiply the normal block subsidy by while in the + highsubsidyblocks window of a chain (default: 1, devnet-only) + + -llmqchainlocks= + Override the default LLMQ type used for ChainLocks. Allows using + ChainLocks with smaller LLMQs. (default: llmq_devnet, + devnet-only) + + -llmqdevnetparams=: + Override the default LLMQ size for the LLMQ_DEVNET quorum (devnet-only) + + -llmqinstantsenddip0024= + Override the default LLMQ type used for InstantSendDIP0024. (default: + llmq_devnet_dip0024, devnet-only) + + -llmqmnhf= + Override the default LLMQ type used for EHF. (default: llmq_devnet, + devnet-only) + + -llmqplatform= + Override the default LLMQ type used for Platform. (default: + llmq_devnet_platform, devnet-only) + + -llmqtestinstantsenddip0024= + Override the default LLMQ type used for InstantSendDIP0024. Used mainly + to test Platform. (default: llmq_test_dip0024, regtest-only) + + -llmqtestinstantsendparams=: + Override the default LLMQ size for the LLMQ_TEST_INSTANTSEND quorums + (default: 3:2, regtest-only) + + -llmqtestparams=: + Override the default LLMQ size for the LLMQ_TEST quorum (default: 3:2, + regtest-only) + + -minimumdifficultyblocks= + The number of blocks that can be mined with the minimum difficulty at + the start of a chain (default: 0, devnet-only) + + -powtargetspacing= + Override the default PowTargetSpacing value in seconds (default: 2.5 + minutes, devnet-only) + + -regtest + 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. Equivalent to -chain=regtest + + -testnet + Use the test chain. Equivalent to -chain=test + + -vbparams=::(:min_activation_height(::(:::))) + Use given start/end times and min_activation_height for specified + version bits deployment (regtest-only). Specifying window, + threshold/thresholdstart, thresholdmin, falloffcoeff and + mnactivation is optional. + +``` + +### Node relay options + +```text + + -acceptnonstdtxn + Relay and mine "non-standard" transactions (testnet/regtest only; + default: 1) + + -bytespersigop + Equivalent bytes per sigop in transactions for relay and mining + (default: 20) + + -datacarrier + Relay and mine data carrier transactions (default: 1) + + -datacarriersize + Maximum size of data in data carrier transactions we relay and mine + (default: 83) + + -dustrelayfee= + Fee rate (in DASH/kB) used to define dust, the value of an output such + that it will cost more than its value in fees at this fee rate to + spend it. (default: 0.00003) + + -incrementalrelayfee= + Fee rate (in DASH/kB) used to define cost of relay, used for mempool + limiting and BIP 125 replacement. (default: 0.00001) + + -minrelaytxfee= + Fees (in DASH/kB) smaller than this are considered zero fee for + relaying, mining and transaction creation (default: 0.00001) + + -whitelistforcerelay + Add 'forcerelay' permission to whitelisted inbound peers with default + permissions. This will relay transactions even if the + transactions were already in the mempool. (default: 0) + + -whitelistrelay + Add 'relay' permission to whitelisted inbound peers with default + permissions. This will accept relayed transactions even when not + relaying transactions (default: 1) + +``` + +### Block creation options + +```text + + -blockmaxsize= + Set maximum block size in bytes (default: 2000000) + + -blockmintxfee= + Set lowest fee rate (in DASH/kB) for transactions to be included in + block creation. (default: 0.00001) + + -blockversion= + Override block version to test forking scenarios + +``` + +### RPC server options + +```text + + -rest + Accept public REST requests (default: 0) + + -rpcallowip= + Allow JSON-RPC connections from specified source. Valid for 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 + + -rpcauth= + Username and HMAC-SHA-256 hashed password for JSON-RPC connections. The + field comes in the format: :$. A + canonical python script is included in share/rpcuser. The client + then connects normally using the + rpcuser=/rpcpassword= pair of arguments. This + option can be specified multiple times + + -rpcbind=[:port] + Bind to given address to listen for JSON-RPC connections. Do not expose + the RPC server to untrusted networks such as the public internet! + This option is ignored unless -rpcallowip is also passed. Port is + optional and overrides -rpcport. Use [host]:port notation for + IPv6. This option can be specified multiple times (default: + 127.0.0.1 and ::1 i.e., localhost, or if -rpcallowip has been + specified, 0.0.0.0 and :: i.e., all addresses) + + -rpccookiefile= + Location of the auth cookie. Relative paths will be prefixed by a + net-specific datadir location. (default: data dir) + + -rpcexternaluser= + List of comma-separated usernames for JSON-RPC external connections + + -rpcexternalworkqueue= + Set the depth of the work queue to service external RPC calls (default: + 16) + + -rpcpassword= + Password for JSON-RPC connections + + -rpcport= + Listen for JSON-RPC connections on (default: 9998, testnet: + 19998, regtest: 19898) + + -rpcservertimeout= + Timeout during HTTP requests (default: 30) + + -rpcthreads= + Set the number of threads to service RPC calls (default: 4) + + -rpcuser= + Username for JSON-RPC connections + + -rpcwhitelist= + Set a whitelist to filter incoming RPC calls for a specific user. The + field comes in the format: :,,...,. If multiple whitelists are set for a given user, + they are set-intersected. See -rpcwhitelistdefault documentation + for information on default whitelist behavior. + + -rpcwhitelistdefault + Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault + is set to 0, if any -rpcwhitelist is set, the rpc server acts as + if all rpc users are subject to empty-unless-otherwise-specified + whitelists. If rpcwhitelistdefault is set to 1 and no + -rpcwhitelist is set, rpc server acts as if all rpc users are + subject to empty whitelists. + + -rpcworkqueue= + Set the depth of the work queue to service RPC calls (default: 16) + + -server + Accept command line and JSON-RPC commands + +``` ### UI Options