DNS seeding
This commit is contained in:
parent
f36b494aeb
commit
f684aec4f3
3 changed files with 31 additions and 0 deletions
3
init.cpp
3
init.cpp
|
@ -416,6 +416,9 @@ bool AppInit2(int argc, char* argv[])
|
|||
}
|
||||
}
|
||||
|
||||
if (mapArgs.count("-dnsseed"))
|
||||
DNSAddressSeed();
|
||||
|
||||
if (mapArgs.count("-paytxfee"))
|
||||
{
|
||||
if (!ParseMoney(mapArgs["-paytxfee"], nTransactionFee))
|
||||
|
|
27
net.cpp
27
net.cpp
|
@ -857,7 +857,34 @@ void ThreadSocketHandler2(void* parg)
|
|||
|
||||
|
||||
|
||||
static const char *strDNSSeed[] = {
|
||||
"bitseed.xf2.org",
|
||||
};
|
||||
|
||||
void DNSAddressSeed()
|
||||
{
|
||||
int found = 0;
|
||||
|
||||
printf("Loading addresses from DNS seeds (could take a while)\n");
|
||||
|
||||
for (int seed_idx = 0; seed_idx < ARRAYLEN(strDNSSeed); seed_idx++) {
|
||||
struct hostent* phostent = gethostbyname(strDNSSeed[seed_idx]);
|
||||
if (!phostent)
|
||||
continue;
|
||||
|
||||
for (int host = 0; phostent->h_addr_list[host] != NULL; host++) {
|
||||
CAddress addr(*(unsigned int*)phostent->h_addr_list[host],
|
||||
GetDefaultPort(), NODE_NETWORK);
|
||||
addr.nTime = 0;
|
||||
if (addr.IsValid() && addr.GetByte(3) != 127) {
|
||||
AddAddress(addr);
|
||||
found++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
printf("%d addresses found from DNS seeds\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
1
net.h
1
net.h
|
@ -30,6 +30,7 @@ CNode* FindNode(unsigned int ip);
|
|||
CNode* ConnectNode(CAddress addrConnect, int64 nTimeout=0);
|
||||
void AbandonRequests(void (*fn)(void*, CDataStream&), void* param1);
|
||||
bool AnySubscribed(unsigned int nChannel);
|
||||
void DNSAddressSeed();
|
||||
bool BindListenPort(string& strError=REF(string()));
|
||||
void StartNode(void* parg);
|
||||
bool StopNode();
|
||||
|
|
Loading…
Reference in a new issue