@ -1418,6 +1418,31 @@ bool AppInitMain(NodeContext& node)
return InitError ( ResolveErrMsg ( " externalip " , strAddr ) ) ;
}
// Read asmap file if configured
if ( gArgs . IsArgSet ( " -asmap " ) ) {
fs : : path asmap_path = fs : : path ( gArgs . GetArg ( " -asmap " , " " ) ) ;
if ( asmap_path . empty ( ) ) {
asmap_path = DEFAULT_ASMAP_FILENAME ;
}
if ( ! asmap_path . is_absolute ( ) ) {
asmap_path = GetDataDir ( ) / asmap_path ;
}
if ( ! fs : : exists ( asmap_path ) ) {
InitError ( strprintf ( _ ( " Could not find asmap file %s " ) . translated , asmap_path ) ) ;
return false ;
}
std : : vector < bool > asmap = CAddrMan : : DecodeAsmap ( asmap_path ) ;
if ( asmap . size ( ) = = 0 ) {
InitError ( strprintf ( _ ( " Could not parse asmap file %s " ) . translated , asmap_path ) ) ;
return false ;
}
const uint256 asmap_version = SerializeHash ( asmap ) ;
node . connman - > SetAsmap ( std : : move ( asmap ) ) ;
LogPrintf ( " Using asmap version %s for IP bucketing \n " , asmap_version . ToString ( ) ) ;
} else {
LogPrintf ( " Using /16 prefix for IP bucketing \n " ) ;
}
# if ENABLE_ZMQ
g_zmq_notification_interface = CZMQNotificationInterface : : Create ( ) ;
@ -1825,31 +1850,6 @@ bool AppInitMain(NodeContext& node)
return false ;
}
// Read asmap file if configured
if ( gArgs . IsArgSet ( " -asmap " ) ) {
fs : : path asmap_path = fs : : path ( gArgs . GetArg ( " -asmap " , " " ) ) ;
if ( asmap_path . empty ( ) ) {
asmap_path = DEFAULT_ASMAP_FILENAME ;
}
if ( ! asmap_path . is_absolute ( ) ) {
asmap_path = GetDataDir ( ) / asmap_path ;
}
if ( ! fs : : exists ( asmap_path ) ) {
InitError ( strprintf ( _ ( " Could not find asmap file %s " ) . translated , asmap_path ) ) ;
return false ;
}
std : : vector < bool > asmap = CAddrMan : : DecodeAsmap ( asmap_path ) ;
if ( asmap . size ( ) = = 0 ) {
InitError ( strprintf ( _ ( " Could not parse asmap file %s " ) . translated , asmap_path ) ) ;
return false ;
}
const uint256 asmap_version = SerializeHash ( asmap ) ;
node . connman - > SetAsmap ( std : : move ( asmap ) ) ;
LogPrintf ( " Using asmap version %s for IP bucketing \n " , asmap_version . ToString ( ) ) ;
} else {
LogPrintf ( " Using /16 prefix for IP bucketing \n " ) ;
}
// ********************************************************* Step 13: finished
SetRPCWarmupFinished ( ) ;