Changeset View
Changeset View
Standalone View
Standalone View
src/init.cpp
Show First 20 Lines • Show All 2,382 Lines • ▼ Show 20 Lines | int check_ratio = std::min<int>( | ||||
1000000); | 1000000); | ||||
node.mempool = std::make_unique<CTxMemPool>(check_ratio); | node.mempool = std::make_unique<CTxMemPool>(check_ratio); | ||||
assert(!node.chainman); | assert(!node.chainman); | ||||
node.chainman = std::make_unique<ChainstateManager>(); | node.chainman = std::make_unique<ChainstateManager>(); | ||||
ChainstateManager &chainman = *node.chainman; | ChainstateManager &chainman = *node.chainman; | ||||
assert(!node.peerman); | assert(!node.peerman); | ||||
node.peerman = | node.peerman = PeerManager::make( | ||||
PeerManager::make(chainparams, *node.connman, node.banman.get(), | chainparams, *node.connman, node.banman.get(), chainman, *node.mempool, | ||||
*node.scheduler, chainman, *node.mempool, | |||||
args.GetBoolArg("-blocksonly", DEFAULT_BLOCKSONLY)); | args.GetBoolArg("-blocksonly", DEFAULT_BLOCKSONLY)); | ||||
RegisterValidationInterface(node.peerman.get()); | RegisterValidationInterface(node.peerman.get()); | ||||
// sanitize comments per BIP-0014, format user agent and check total size | // sanitize comments per BIP-0014, format user agent and check total size | ||||
std::vector<std::string> uacomments; | std::vector<std::string> uacomments; | ||||
for (const std::string &cmt : args.GetArgs("-uacomment")) { | for (const std::string &cmt : args.GetArgs("-uacomment")) { | ||||
if (cmt != SanitizeString(cmt, SAFE_CHARS_UA_COMMENT)) { | if (cmt != SanitizeString(cmt, SAFE_CHARS_UA_COMMENT)) { | ||||
return InitError(strprintf( | return InitError(strprintf( | ||||
_("User Agent comment (%s) contains unsafe characters."), cmt)); | _("User Agent comment (%s) contains unsafe characters."), cmt)); | ||||
▲ Show 20 Lines • Show All 751 Lines • ▼ Show 20 Lines | #endif | ||||
BanMan *banman = node.banman.get(); | BanMan *banman = node.banman.get(); | ||||
node.scheduler->scheduleEvery( | node.scheduler->scheduleEvery( | ||||
[banman] { | [banman] { | ||||
banman->DumpBanlist(); | banman->DumpBanlist(); | ||||
return true; | return true; | ||||
}, | }, | ||||
DUMP_BANS_INTERVAL); | DUMP_BANS_INTERVAL); | ||||
if (node.peerman) { | |||||
node.peerman->StartScheduledTasks(*node.scheduler); | |||||
} | |||||
// Start Avalanche's event loop. | // Start Avalanche's event loop. | ||||
g_avalanche->startEventLoop(*node.scheduler); | g_avalanche->startEventLoop(*node.scheduler); | ||||
#if HAVE_SYSTEM | #if HAVE_SYSTEM | ||||
StartupNotify(args); | StartupNotify(args); | ||||
#endif | #endif | ||||
return true; | return true; | ||||
} | } |