X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fnet.cpp;h=6cf534754d0e21abf862857b2b441af604ab3605;hb=776a16e9883a6e4fe12eaf6e76ff4175b74d259c;hp=a65097939b32b5a748810246a0f279a763445785;hpb=58561410692c520d91def67c36aadf8edd992272;p=novacoin.git diff --git a/src/net.cpp b/src/net.cpp index a650979..6cf5347 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1,6 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers // Copyright (c) 2011-2012 The PPCoin developers +// Copyright (c) 2012-2013 The NovaCoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -250,8 +251,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++) { @@ -888,7 +889,7 @@ void ThreadMapPort2(void* parg) } } - string strDesc = "PPCoin " + FormatFullVersion(); + string strDesc = "NovaCoin " + FormatFullVersion(); #ifndef UPNPDISCOVER_SUCCESS /* miniupnpc 1.5 */ r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, @@ -981,8 +982,7 @@ 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", "xxx"} }; void ThreadDNSAddressSeed(void* parg) @@ -1009,7 +1009,7 @@ void ThreadDNSAddressSeed2(void* parg) printf("ThreadDNSAddressSeed started\n"); int found = 0; - if (true /*!fTestNet*/) // ppcoin enables dns seeding with testnet too + if (true && !fTestNet) { printf("Loading addresses from DNS seeds (could take a while)\n"); @@ -1050,7 +1050,7 @@ void ThreadDNSAddressSeed2(void* parg) unsigned int pnSeed[] = { - 0xfc01a8c0, + 0x0x90EF78BC, }; 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. PPCoin 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,24 @@ 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 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 +1649,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 +1684,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);