@ -47,8 +47,10 @@
# include <signal.h>
# include <signal.h>
# endif
# endif
# include <boost/algorithm/string/classification.hpp>
# include <boost/algorithm/string/predicate.hpp>
# include <boost/algorithm/string/predicate.hpp>
# include <boost/algorithm/string/replace.hpp>
# include <boost/algorithm/string/replace.hpp>
# include <boost/algorithm/string/split.hpp>
# include <boost/bind.hpp>
# include <boost/bind.hpp>
# include <boost/filesystem.hpp>
# include <boost/filesystem.hpp>
# include <boost/function.hpp>
# include <boost/function.hpp>
@ -367,7 +369,6 @@ std::string HelpMessage(HelpMessageMode mode)
strUsage + = HelpMessageOpt ( " -onion=<ip:port> " , strprintf ( _ ( " Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) " ) , " -proxy " ) ) ;
strUsage + = HelpMessageOpt ( " -onion=<ip:port> " , strprintf ( _ ( " Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) " ) , " -proxy " ) ) ;
strUsage + = HelpMessageOpt ( " -onlynet=<net> " , _ ( " Only connect to nodes in network <net> (ipv4, ipv6 or onion) " ) ) ;
strUsage + = HelpMessageOpt ( " -onlynet=<net> " , _ ( " Only connect to nodes in network <net> (ipv4, ipv6 or onion) " ) ) ;
strUsage + = HelpMessageOpt ( " -permitbaremultisig " , strprintf ( _ ( " Relay non-P2SH multisig (default: %u) " ) , DEFAULT_PERMIT_BAREMULTISIG ) ) ;
strUsage + = HelpMessageOpt ( " -permitbaremultisig " , strprintf ( _ ( " Relay non-P2SH multisig (default: %u) " ) , DEFAULT_PERMIT_BAREMULTISIG ) ) ;
strUsage + = HelpMessageOpt ( " -permitrbf " , strprintf ( _ ( " Permit transaction replacements in the memory pool (default: %u) " ) , DEFAULT_PERMIT_REPLACEMENT ) ) ;
strUsage + = HelpMessageOpt ( " -peerbloomfilters " , strprintf ( _ ( " Support filtering of blocks and transaction with bloom filters (default: %u) " ) , 1 ) ) ;
strUsage + = HelpMessageOpt ( " -peerbloomfilters " , strprintf ( _ ( " Support filtering of blocks and transaction with bloom filters (default: %u) " ) , 1 ) ) ;
if ( showDebug )
if ( showDebug )
strUsage + = HelpMessageOpt ( " -enforcenodebloom " , strprintf ( " Enforce minimum protocol version to limit use of bloom filters (default: %u) " , 0 ) ) ;
strUsage + = HelpMessageOpt ( " -enforcenodebloom " , strprintf ( " Enforce minimum protocol version to limit use of bloom filters (default: %u) " , 0 ) ) ;
@ -489,6 +490,7 @@ std::string HelpMessage(HelpMessageMode mode)
strUsage + = HelpMessageOpt ( " -bytespersigop " , strprintf ( _ ( " Minimum bytes per sigop in transactions we relay and mine (default: %u) " ) , DEFAULT_BYTES_PER_SIGOP ) ) ;
strUsage + = HelpMessageOpt ( " -bytespersigop " , strprintf ( _ ( " Minimum bytes per sigop in transactions we relay and mine (default: %u) " ) , DEFAULT_BYTES_PER_SIGOP ) ) ;
strUsage + = HelpMessageOpt ( " -datacarrier " , strprintf ( _ ( " Relay and mine data carrier transactions (default: %u) " ) , DEFAULT_ACCEPT_DATACARRIER ) ) ;
strUsage + = HelpMessageOpt ( " -datacarrier " , strprintf ( _ ( " Relay and mine data carrier transactions (default: %u) " ) , DEFAULT_ACCEPT_DATACARRIER ) ) ;
strUsage + = HelpMessageOpt ( " -datacarriersize " , strprintf ( _ ( " Maximum size of data in data carrier transactions we relay and mine (default: %u) " ) , MAX_OP_RETURN_RELAY ) ) ;
strUsage + = HelpMessageOpt ( " -datacarriersize " , strprintf ( _ ( " Maximum size of data in data carrier transactions we relay and mine (default: %u) " ) , MAX_OP_RETURN_RELAY ) ) ;
strUsage + = HelpMessageOpt ( " -mempoolreplacement " , strprintf ( _ ( " Enable transaction replacement in the memory pool (default: %u) " ) , DEFAULT_ENABLE_REPLACEMENT ) ) ;
strUsage + = HelpMessageGroup ( _ ( " Block creation options: " ) ) ;
strUsage + = HelpMessageGroup ( _ ( " Block creation options: " ) ) ;
strUsage + = HelpMessageOpt ( " -blockminsize=<n> " , strprintf ( _ ( " Set minimum block size in bytes (default: %u) " ) , DEFAULT_BLOCK_MIN_SIZE ) ) ;
strUsage + = HelpMessageOpt ( " -blockminsize=<n> " , strprintf ( _ ( " Set minimum block size in bytes (default: %u) " ) , DEFAULT_BLOCK_MIN_SIZE ) ) ;
@ -1040,7 +1042,15 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
nLocalServices | = NODE_BLOOM ;
nLocalServices | = NODE_BLOOM ;
nMaxTipAge = GetArg ( " -maxtipage " , DEFAULT_MAX_TIP_AGE ) ;
nMaxTipAge = GetArg ( " -maxtipage " , DEFAULT_MAX_TIP_AGE ) ;
fPermitReplacement = GetBoolArg ( " -permitrbf " , DEFAULT_PERMIT_REPLACEMENT ) ;
fEnableReplacement = GetBoolArg ( " -mempoolreplacement " , DEFAULT_ENABLE_REPLACEMENT ) ;
if ( ( ! fEnableReplacement ) & & mapArgs . count ( " -mempoolreplacement " ) ) {
// Minimal effort at forwards compatibility
std : : string strReplacementModeList = GetArg ( " -mempoolreplacement " , " " ) ; // default is impossible
std : : vector < std : : string > vstrReplacementModes ;
boost : : split ( vstrReplacementModes , strReplacementModeList , boost : : is_any_of ( " , " ) ) ;
fEnableReplacement = ( std : : find ( vstrReplacementModes . begin ( ) , vstrReplacementModes . end ( ) , " fee " ) ! = vstrReplacementModes . end ( ) ) ;
}
// ********************************************************* Step 4: application initialization: dir lock, daemonize, pidfile, debug log
// ********************************************************* Step 4: application initialization: dir lock, daemonize, pidfile, debug log