X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fnet.cpp;h=f87acbdb2779ec904c0a54177e35abd96ac3c012;hb=10db7eddb688a980032d781b190b94955eb1314c;hp=5d5be71a4e68e5e96ba11366d184b02f4d084661;hpb=0561bbd1c69263dceb24ffacf850788e6e961a13;p=novacoin.git diff --git a/src/net.cpp b/src/net.cpp index 5d5be71..f87acbd 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers -// Copyright (c) 2011-2012 The PPCoin developers +// Copyright (c) 2011-2013 The PPCoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -250,8 +250,8 @@ bool GetMyExternalIP(CNetAddr& ipRet) void ThreadGetMyExternalIP(void* parg) { - // Wait for IRC to get it first - disabled with ppcoin - if (false && GetBoolArg("-irc", false)) + // Wait for IRC to get it first + if (GetBoolArg("-irc", true)) { for (int i = 0; i < 2 * 60; i++) { @@ -383,7 +383,7 @@ void CNode::CloseSocketDisconnect() if (hSocket != INVALID_SOCKET) { if (fDebug) - printf("%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str()); + printf("%s ", DateTimeStrFormat(GetTime()).c_str()); printf("disconnecting node %s\n", addr.ToString().c_str()); closesocket(hSocket); hSocket = INVALID_SOCKET; @@ -888,7 +888,7 @@ void ThreadMapPort2(void* parg) } } - string strDesc = "Bitcoin " + FormatFullVersion(); + string strDesc = "NovaCoin " + FormatFullVersion(); #ifndef UPNPDISCOVER_SUCCESS /* miniupnpc 1.5 */ r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, @@ -981,8 +981,8 @@ void MapPort(bool /* unused fMapPort */) // The second name should resolve to a list of seed addresses. // testnet dns seed begins with 't', all else are ppcoin dns seeds. static const char *strDNSSeed[][2] = { - {"ppcseed", "ppcseed.zapto.org"}, - {"tncseed", "tncseed.zapto.org"}, + {"seed", "seed.ppcoin.net"}, + {"tnseed", "tnseed.ppcoin.net"}, }; void ThreadDNSAddressSeed(void* parg) @@ -1050,7 +1050,7 @@ void ThreadDNSAddressSeed2(void* parg) unsigned int pnSeed[] = { - 0xfc01a8c0, + 0x90EF78BC, 0x33F1C851, 0x36F1C851, 0xC6F5C851, }; void DumpAddresses() @@ -1412,6 +1412,27 @@ void ThreadMessageHandler2(void* parg) } } +// ppcoin: stake minter thread +void static ThreadStakeMinter(void* parg) +{ + printf("ThreadStakeMinter started\n"); + CWallet* pwallet = (CWallet*)parg; + try + { + vnThreadsRunning[THREAD_MINTER]++; + BitcoinMiner(pwallet, true); + vnThreadsRunning[THREAD_MINTER]--; + } + catch (std::exception& e) { + vnThreadsRunning[THREAD_MINTER]--; + PrintException(&e, "ThreadStakeMinter()"); + } catch (...) { + vnThreadsRunning[THREAD_MINTER]--; + PrintException(NULL, "ThreadStakeMinter()"); + } + printf("ThreadStakeMinter exiting, %d threads remaining\n", vnThreadsRunning[THREAD_MINTER]); +} + @@ -1478,7 +1499,7 @@ bool BindListenPort(string& strError) { int nErr = WSAGetLastError(); if (nErr == WSAEADDRINUSE) - strError = strprintf(_("Unable to bind to port %d on this computer. Bitcoin is probably already running."), ntohs(sockaddr.sin_port)); + strError = strprintf(_("Unable to bind to port %d on this computer. NovaCoin is probably already running."), ntohs(sockaddr.sin_port)); else strError = strprintf("Error: Unable to bind to port %d on this computer (bind returned error %d)", ntohs(sockaddr.sin_port), nErr); printf("%s\n", strError.c_str()); @@ -1587,21 +1608,26 @@ void StartNode(void* parg) // Start threads // +/* if (!GetBoolArg("-dnsseed", true)) printf("DNS seeding disabled\n"); else if (!CreateThread(ThreadDNSAddressSeed, NULL)) printf("Error: CreateThread(ThreadDNSAddressSeed) failed\n"); +*/ + + if (!GetBoolArg("-dnsseed", false)) + printf("DNS seeding disabled\n"); + if (GetBoolArg("-dnsseed", false)) + printf("DNS seeding NYI\n"); // Map ports with UPnP if (fHaveUPnP) MapPort(fUseUPnP); // Get addresses from IRC and advertise ours - // if (!CreateThread(ThreadIRCSeed, NULL)) - // printf("Error: CreateThread(ThreadIRCSeed) failed\n"); - // IRC disabled with ppcoin - printf("IRC seeding/communication disabled\n"); + if (!CreateThread(ThreadIRCSeed, NULL)) + printf("Error: CreateThread(ThreadIRCSeed) failed\n"); // Send and receive from sockets, accept connections if (!CreateThread(ThreadSocketHandler, NULL)) @@ -1625,6 +1651,10 @@ void StartNode(void* parg) // Generate coins in the background GenerateBitcoins(GetBoolArg("-gen", false), pwalletMain); + + // ppcoin: mint proof-of-stake blocks in the background + if (!CreateThread(ThreadStakeMinter, pwalletMain)) + printf("Error: CreateThread(ThreadStakeMinter) failed\n"); } bool StopNode() @@ -1656,6 +1686,7 @@ bool StopNode() if (vnThreadsRunning[THREAD_DNSSEED] > 0) printf("ThreadDNSAddressSeed still running\n"); if (vnThreadsRunning[THREAD_ADDEDCONNECTIONS] > 0) printf("ThreadOpenAddedConnections still running\n"); if (vnThreadsRunning[THREAD_DUMPADDRESS] > 0) printf("ThreadDumpAddresses still running\n"); + if (vnThreadsRunning[THREAD_MINTER] > 0) printf("ThreadStakeMinter still running\n"); while (vnThreadsRunning[THREAD_MESSAGEHANDLER] > 0 || vnThreadsRunning[THREAD_RPCSERVER] > 0) Sleep(20); Sleep(50);