strUsage+=HelpMessageOpt("-blocksonly",strprintf(_("Whether to operate in a blocks only mode (default: %u)"),DEFAULT_BLOCKSONLY));
strUsage+=HelpMessageOpt("-checkblocks=<n>",strprintf(_("How many blocks to check at startup (default: %u, 0 = all)"),DEFAULT_CHECKBLOCKS));
strUsage+=HelpMessageOpt("-checklevel=<n>",strprintf(_("How thorough the block verification of -checkblocks is (0-4, default: %u)"),DEFAULT_CHECKLEVEL));
strUsage+=HelpMessageOpt("-par=<n>",strprintf(_("Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)"),
strUsage+=HelpMessageOpt("-prune=<n>",strprintf(_("Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. "
"Warning: Reverting this setting requires re-downloading the entire blockchain. "
strUsage+=HelpMessageOpt("-sysperms",_("Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality)"));
#endif
strUsage+=HelpMessageOpt("-txindex",strprintf(_("Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u)"),0));
strUsage+=HelpMessageOpt("-txindex",strprintf(_("Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u)"),DEFAULT_TXINDEX));
strUsage+=HelpMessageOpt("-addnode=<ip>",_("Add a node to connect to and attempt to keep the connection open"));
strUsage+=HelpMessageOpt("-banscore=<n>",strprintf(_("Threshold for disconnecting misbehaving peers (default: %u)"),100));
strUsage+=HelpMessageOpt("-bantime=<n>",strprintf(_("Number of seconds to keep misbehaving peers from reconnecting (default: %u)"),86400));
strUsage+=HelpMessageOpt("-banscore=<n>",strprintf(_("Threshold for disconnecting misbehaving peers (default: %u)"),DEFAULT_BANSCORE_THRESHOLD));
strUsage+=HelpMessageOpt("-bantime=<n>",strprintf(_("Number of seconds to keep misbehaving peers from reconnecting (default: %u)"),DEFAULT_MISBEHAVING_BANTIME));
strUsage+=HelpMessageOpt("-bind=<addr>",_("Bind to given address and always listen on it. Use [host]:port notation for IPv6"));
strUsage+=HelpMessageOpt("-connect=<ip>",_("Connect only to the specified node(s)"));
strUsage+=HelpMessageOpt("-discover",_("Discover own IP addresses (default: 1 when listening and no -externalip or -proxy)"));
strUsage+=HelpMessageOpt("-dns",_("Allow DNS lookups for -addnode, -seednode and -connect")+""+_("(default: 1)"));
strUsage+=HelpMessageOpt("-dns",strprintf(_("Allow DNS lookups for -addnode, -seednode and -connect (default: %u)"),fNameLookup));
strUsage+=HelpMessageOpt("-dnsseed",_("Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)"));
strUsage+=HelpMessageOpt("-externalip=<ip>",_("Specify your own public address"));
strUsage+=HelpMessageOpt("-forcednsseed",strprintf(_("Always query for peer addresses via DNS lookup (default: %u)"),0));
strUsage+=HelpMessageOpt("-forcednsseed",strprintf(_("Always query for peer addresses via DNS lookup (default: %u)"),DEFAULT_FORCEDNSSEED));
strUsage+=HelpMessageOpt("-listen",_("Accept connections from outside (default: 1 if no -proxy or -connect)"));
strUsage+=HelpMessageOpt("-listenonion",strprintf(_("Automatically create Tor hidden service (default: %d)"),DEFAULT_LISTEN_ONION));
strUsage+=HelpMessageOpt("-maxconnections=<n>",strprintf(_("Maintain at most <n> connections to peers (default: %u)"),DEFAULT_MAX_PEER_CONNECTIONS));
strUsage+=HelpMessageOpt("-peerbloomfilters",strprintf(_("Support filtering of blocks and transaction with bloom filters (default: %u)"),1));
if(showDebug)
strUsage+=HelpMessageOpt("-enforcenodebloom",strprintf("Enforce minimum protocol version to limit use of bloom filters (default: %u)",0));
strUsage+=HelpMessageOpt("-port=<port>",strprintf(_("Listen for connections on <port> (default: %u or testnet: %u)"),8333,18333));
strUsage+=HelpMessageOpt("-port=<port>",strprintf(_("Listen for connections on <port> (default: %u or testnet: %u)"),Params(CBaseChainParams::MAIN).GetDefaultPort(),Params(CBaseChainParams::TESTNET).GetDefaultPort()));
strUsage+=HelpMessageOpt("-proxy=<ip:port>",_("Connect through SOCKS5 proxy"));
strUsage+=HelpMessageOpt("-proxyrandomize",strprintf(_("Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u)"),1));
strUsage+=HelpMessageOpt("-proxyrandomize",strprintf(_("Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u)"),DEFAULT_PROXYRANDOMIZE));
strUsage+=HelpMessageOpt("-seednode=<ip>",_("Connect to a node to retrieve peer addresses, and disconnect"));
strUsage+=HelpMessageOpt("-timeout=<n>",strprintf(_("Specify connection timeout in milliseconds (minimum: 1, default: %d)"),DEFAULT_CONNECT_TIMEOUT));
strUsage+=HelpMessageOpt("-torcontrol=<ip>:<port>",strprintf(_("Tor control port to use if onion listening enabled (default: %s)"),DEFAULT_TOR_CONTROL));
strUsage+=HelpMessageOpt("-disablewallet",_("Do not load the wallet and disable wallet RPC calls"));
strUsage+=HelpMessageOpt("-keypool=<n>",strprintf(_("Set key pool size to <n> (default: %u)"),100));
strUsage+=HelpMessageOpt("-keypool=<n>",strprintf(_("Set key pool size to <n> (default: %u)"),DEFAULT_KEYPOOL_SIZE));
if(showDebug)
strUsage+=HelpMessageOpt("-mintxfee=<amt>",strprintf("Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)",
strUsage+=HelpMessageOpt("-rescan",_("Rescan the block chain for missing wallet transactions on startup"));
strUsage+=HelpMessageOpt("-salvagewallet",_("Attempt to recover private keys from a corrupt wallet.dat on startup"));
strUsage+=HelpMessageOpt("-sendfreetransactions",strprintf(_("Send transactions as zero-fee transactions if possible (default: %u)"),0));
strUsage+=HelpMessageOpt("-spendzeroconfchange",strprintf(_("Spend unconfirmed change when sending transactions (default: %u)"),1));
strUsage+=HelpMessageOpt("-sendfreetransactions",strprintf(_("Send transactions as zero-fee transactions if possible (default: %u)"),fSendFreeTransactions));
strUsage+=HelpMessageOpt("-spendzeroconfchange",strprintf(_("Spend unconfirmed change when sending transactions (default: %u)"),bSpendZeroConfChange));
strUsage+=HelpMessageOpt("-txconfirmtarget=<n>",strprintf(_("If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)"),DEFAULT_TX_CONFIRM_TARGET));
strUsage+=HelpMessageOpt("-maxtxfee=<amt>",strprintf(_("Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)"),
strUsage+=HelpMessageOpt("-upgradewallet",_("Upgrade wallet to latest format on startup"));
strUsage+=HelpMessageOpt("-wallet=<file>",_("Specify wallet file (within data directory)")+""+strprintf(_("(default: %s)"),"wallet.dat"));
strUsage+=HelpMessageOpt("-walletbroadcast",_("Make the wallet broadcast transactions")+""+strprintf(_("(default: %u)"),true));
strUsage+=HelpMessageOpt("-walletbroadcast",_("Make the wallet broadcast transactions")+""+strprintf(_("(default: %u)"),DEFAULT_WALLETBROADCAST));
strUsage+=HelpMessageOpt("-walletnotify=<cmd>",_("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)"));
strUsage+=HelpMessageOpt("-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)"));
strUsage+=HelpMessageOpt("-checkpoints",strprintf("Disable expensive verification for known chain history (default: %u)",1));
strUsage+=HelpMessageOpt("-checkpoints",strprintf("Disable expensive verification for known chain history (default: %u)",fCheckpointsEnabled));
#ifdef ENABLE_WALLET
strUsage+=HelpMessageOpt("-dblogsize=<n>",strprintf("Flush wallet database activity from memory to disk log every <n> megabytes (default: %u)",DEFAULT_WALLET_DBLOGSIZE));
#endif
strUsage+=HelpMessageOpt("-disablesafemode",strprintf("Disable safemode, override a real safe mode event (default: %u)",0));
strUsage+=HelpMessageOpt("-dropmessagestest=<n>","Randomly drop 1 of every <n> network messages");
strUsage+=HelpMessageOpt("-fuzzmessagestest=<n>","Randomly fuzz 1 of every <n> network messages");
#ifdef ENABLE_WALLET
strUsage+=HelpMessageOpt("-flushwallet",strprintf("Run a thread to flush wallet periodically (default: %u)",1));
strUsage+=HelpMessageOpt("-flushwallet",strprintf("Run a thread to flush wallet periodically (default: %u)",DEFAULT_FLUSHWALLET));
#endif
strUsage+=HelpMessageOpt("-stopafterblockimport",strprintf("Stop running after importing blocks from disk (default: %u)",0));
strUsage+=HelpMessageOpt("-stopafterblockimport",strprintf("Stop running after importing blocks from disk (default: %u)",DEFAULT_STOPAFTERBLOCKIMPORT));
strUsage+=HelpMessageOpt("-limitancestorcount=<n>",strprintf("Do not accept transactions if number of in-mempool ancestors is <n> or more (default: %u)",DEFAULT_ANCESTOR_LIMIT));
strUsage+=HelpMessageOpt("-limitancestorsize=<n>",strprintf("Do not accept transactions whose size with all in-mempool ancestors exceeds <n> kilobytes (default: %u)",DEFAULT_ANCESTOR_SIZE_LIMIT));
strUsage+=HelpMessageOpt("-limitdescendantcount=<n>",strprintf("Do not accept transactions if any ancestor would have <n> or more in-mempool descendants (default: %u)",DEFAULT_DESCENDANT_LIMIT));
strUsage+=HelpMessageOpt("-genproclimit=<n>",strprintf(_("Set the number of threads for coin generation if enabled (-1 = all cores, default: %d)"),DEFAULT_GENERATE_THREADS));
strUsage+=HelpMessageOpt("-help-debug",_("Show all debugging options (usage: --help -help-debug)"));
strUsage+=HelpMessageOpt("-logips",strprintf(_("Include IP addresses in debug output (default: %u)"),0));
strUsage+=HelpMessageOpt("-logtimestamps",strprintf(_("Prepend debug output with timestamp (default: %u)"),1));
strUsage+=HelpMessageOpt("-logips",strprintf(_("Include IP addresses in debug output (default: %u)"),fLogIPs));
strUsage+=HelpMessageOpt("-logtimestamps",strprintf(_("Prepend debug output with timestamp (default: %u)"),fLogTimestamps));
if(showDebug)
{
strUsage+=HelpMessageOpt("-logtimemicros",strprintf("Add microsecond precision to debug timestamps (default: %u)",DEFAULT_LOGTIMEMICROS));
strUsage+=HelpMessageOpt("-limitfreerelay=<n>",strprintf("Continuously rate-limit free transactions to <n>*1000 bytes per minute (default: %u)",15));
strUsage+=HelpMessageOpt("-relaypriority",strprintf("Require high priority for relaying free or low-fee transactions (default: %u)",1));
strUsage+=HelpMessageOpt("-limitfreerelay=<n>",strprintf("Continuously rate-limit free transactions to <n>*1000 bytes per minute (default: %u)",DEFAULT_LIMITFREERELAY));
strUsage+=HelpMessageOpt("-relaypriority",strprintf("Require high priority for relaying free or low-fee transactions (default: %u)",DEFAULT_RELAYPRIORITY));
strUsage+=HelpMessageOpt("-maxsigcachesize=<n>",strprintf("Limit size of signature cache to <n> MiB (default: %u)",DEFAULT_MAX_SIG_CACHE_SIZE));
}
strUsage+=HelpMessageOpt("-minrelaytxfee=<amt>",strprintf(_("Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)"),
strUsage+=HelpMessageOpt("-printtoconsole",_("Send trace/debug info to console instead of debug.log file"));
if(showDebug)
{
strUsage+=HelpMessageOpt("-printpriority",strprintf("Log transaction priority and fee per kB when mining blocks (default: %u)",0));
strUsage+=HelpMessageOpt("-privdb",strprintf("Sets the DB_PRIVATE flag in the wallet db environment (default: %u)",1));
strUsage+=HelpMessageOpt("-printpriority",strprintf("Log transaction priority and fee per kB when mining blocks (default: %u)",DEFAULT_PRINTPRIORITY));
strUsage+=HelpMessageOpt("-privdb",strprintf("Sets the DB_PRIVATE flag in the wallet db environment (default: %u)",DEFAULT_WALLET_PRIVDB));
}
strUsage+=HelpMessageOpt("-shrinkdebugfile",_("Shrink debug.log file on client startup (default: 1 when no -debug)"));
strUsage+=HelpMessageOpt("-acceptnonstdtxn",strprintf("Relay and mine \"non-standard\" transactions (%sdefault: %u)","testnet/regtest only; ",!Params(CBaseChainParams::TESTNET).RequireStandard()));
strUsage+=HelpMessageOpt("-datacarrier",strprintf(_("Relay and mine data carrier transactions (default: %u)"),1));
strUsage+=HelpMessageOpt("-datacarrier",strprintf(_("Relay and mine data carrier transactions (default: %u)"),fAcceptDatacarrier));
strUsage+=HelpMessageOpt("-datacarriersize",strprintf(_("Maximum size of data in data carrier transactions we relay and mine (default: %u)"),MAX_OP_RETURN_RELAY));
strUsage+=HelpMessageOpt("-blockminsize=<n>",strprintf(_("Set minimum block size in bytes (default: %u)"),0));
strUsage+=HelpMessageOpt("-blockminsize=<n>",strprintf(_("Set minimum block size in bytes (default: %u)"),DEFAULT_BLOCK_MIN_SIZE));
strUsage+=HelpMessageOpt("-blockmaxsize=<n>",strprintf(_("Set maximum block size in bytes (default: %d)"),DEFAULT_BLOCK_MAX_SIZE));
strUsage+=HelpMessageOpt("-blockprioritysize=<n>",strprintf(_("Set maximum size of high-priority/low-fee transactions in bytes (default: %d)"),DEFAULT_BLOCK_PRIORITY_SIZE));
strUsage+=HelpMessageGroup(_("RPC server options:"));
strUsage+=HelpMessageOpt("-server",_("Accept command line and JSON-RPC commands"));
strUsage+=HelpMessageOpt("-rest",strprintf(_("Accept public REST requests (default: %u)"),0));
strUsage+=HelpMessageOpt("-rest",strprintf(_("Accept public REST requests (default: %u)"),DEFAULT_REST_ENABLE));
strUsage+=HelpMessageOpt("-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)"));
strUsage+=HelpMessageOpt("-rpcuser=<user>",_("Username for JSON-RPC connections"));
strUsage+=HelpMessageOpt("-rpcpassword=<pw>",_("Password for JSON-RPC connections"));