// When adding new options to the categories, please keep and ensure alphabetical ordering.
// When adding new options to the categories, please keep and ensure alphabetical ordering.
// Do not translate _(...) -help-debug options, Many technical terms, and only a very small audience, so is unnecessary stress to translators.
// Do not translate _(...) -help-debug options, Many technical terms, and only a very small audience, so is unnecessary stress to translators.
stringstrUsage=HelpMessageGroup(_("Options:"));
stringstrUsage=HelpMessageGroup(_("Options:"));
strUsage+=HelpMessageOpt("-?",_("This help message"));
strUsage+=HelpMessageOpt("-?",_("Print this help message and exit"));
strUsage+=HelpMessageOpt("-version",_("Print version and exit"));
strUsage+=HelpMessageOpt("-alerts",strprintf(_("Receive and display P2P network alerts (default: %u)"),DEFAULT_ALERTS));
strUsage+=HelpMessageOpt("-alerts",strprintf(_("Receive and display P2P network alerts (default: %u)"),DEFAULT_ALERTS));
strUsage+=HelpMessageOpt("-alertnotify=<cmd>",_("Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)"));
strUsage+=HelpMessageOpt("-alertnotify=<cmd>",_("Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)"));
strUsage+=HelpMessageOpt("-blocknotify=<cmd>",_("Execute command when the best block changes (%s in cmd is replaced by block hash)"));
strUsage+=HelpMessageOpt("-blocknotify=<cmd>",_("Execute command when the best block changes (%s in cmd is replaced by block hash)"));
strUsage+=HelpMessageOpt("-uacomment=<cmt>",_("Append comment to the user agent string"));
if(showDebug)
if(showDebug)
{
{
strUsage+=HelpMessageOpt("-checkblockindex",strprintf("Do a full consistency check for mapBlockIndex, setBlockIndexCandidates, chainActive and mapBlocksUnlinked occasionally. Also sets -checkmempool. (default: %u)",Params().DefaultConsistencyChecks()));
strUsage+=HelpMessageOpt("-checkmempool=<n>",strprintf("Run checks every <n> transactions. (default: %u)",Params().DefaultConsistencyChecks()));
strUsage+=HelpMessageOpt("-checkpoints",strprintf("Disable expensive verification for known chain history (default: %u)",DEFAULT_CHECKPOINTS_ENABLED));
strUsage+=HelpMessageOpt("-checkpoints",strprintf("Disable expensive verification for known chain history (default: %u)",DEFAULT_CHECKPOINTS_ENABLED));
#ifdef ENABLE_WALLET
#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));
strUsage+=HelpMessageOpt("-dblogsize=<n>",strprintf("Flush wallet database activity from memory to disk log every <n> megabytes (default: %u)",DEFAULT_WALLET_DBLOGSIZE));
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("-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("-help-debug",_("Show all debugging options (usage: --help -help-debug)"));
strUsage+=HelpMessageOpt("-logtimemicros",strprintf("Add microsecond precision to debug timestamps (default: %u)",DEFAULT_LOGTIMEMICROS));
strUsage+=HelpMessageOpt("-logtimemicros",strprintf("Add microsecond precision to debug timestamps (default: %u)",DEFAULT_LOGTIMEMICROS));
strUsage+=HelpMessageOpt("-mocktime=<n>","Replace actual time with <n> (default: 0)");
strUsage+=HelpMessageOpt("-limitfreerelay=<n>",strprintf("Continuously rate-limit free transactions to <n>*1000 bytes per minute (default: %u)",DEFAULT_LIMITFREERELAY));
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("-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("-maxsigcachesize=<n>",strprintf("Limit size of signature cache to <n> MiB (default: %u)",DEFAULT_MAX_SIG_CACHE_SIZE));
strUsage+=HelpMessageOpt("-server",_("Accept command line and JSON-RPC commands"));
strUsage+=HelpMessageOpt("-server",_("Accept command line and JSON-RPC commands"));
strUsage+=HelpMessageOpt("-rest",strprintf(_("Accept public REST requests (default: %u)"),DEFAULT_REST_ENABLE));
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("-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("-rpccookiefile=<loc>",_("Location of the auth cookie (default: data dir)"));
strUsage+=HelpMessageOpt("-rpcuser=<user>",_("Username for JSON-RPC connections"));
strUsage+=HelpMessageOpt("-rpcuser=<user>",_("Username for JSON-RPC connections"));
strUsage+=HelpMessageOpt("-rpcpassword=<pw>",_("Password for JSON-RPC connections"));
strUsage+=HelpMessageOpt("-rpcpassword=<pw>",_("Password for JSON-RPC connections"));
strUsage+=HelpMessageOpt("-rpcauth=<userpw>",_("Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times"));
strUsage+=HelpMessageOpt("-rpcauth=<userpw>",_("Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times"));