diff --git a/doc/dnsseed-policy.md b/doc/dnsseed-policy.md index 90fead217..a85d047b5 100644 --- a/doc/dnsseed-policy.md +++ b/doc/dnsseed-policy.md @@ -42,13 +42,13 @@ details of their operating practices. related to the DNS seed operation. If these expectations cannot be satisfied the operator should discontinue -providing services and contact the active Zcash development team as well as -creating an issue in the [Zcash repository](https://github.com/zcash/zcash). +providing services and contact the active Hush development team as well as +creating an issue in the [Hush Github repository](https://github.com/MyHush/hush3). Behavior outside of these expectations may be reasonable in some situations but should be discussed in public in advance. See also ---------- -- [zcash-seeder](https://github.com/zcash/zcash-seeder) is a reference +- [hush-seeder](https://github.com/MyHush/hush-seeder) is a reference implementation of a DNS seed. diff --git a/src/bitcoin-tx-res.rc b/src/bitcoin-tx-res.rc index bc8d57134..cb540fdc1 100644 --- a/src/bitcoin-tx-res.rc +++ b/src/bitcoin-tx-res.rc @@ -16,14 +16,14 @@ BEGIN BEGIN BLOCK "040904E4" // U.S. English - multilingual (hex) BEGIN - VALUE "CompanyName", "Zcash" - VALUE "FileDescription", "zcash-tx (CLI Zcash transaction editor utility)" + VALUE "CompanyName", "Hush" + VALUE "FileDescription", "hush-tx (CLI Zcash transaction editor utility)" VALUE "FileVersion", VER_FILEVERSION_STR - VALUE "InternalName", "zcash-tx" + VALUE "InternalName", "hush-tx" VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." - VALUE "OriginalFilename", "zcash-tx.exe" - VALUE "ProductName", "zcash-tx" + VALUE "OriginalFilename", "hush-tx.exe" + VALUE "ProductName", "hush-tx" VALUE "ProductVersion", VER_PRODUCTVERSION_STR END END diff --git a/src/bitcoind.cpp b/src/bitcoind.cpp index bdd368530..80b5c4a53 100644 --- a/src/bitcoind.cpp +++ b/src/bitcoind.cpp @@ -1,5 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2013 The Bitcoin Core developers +// Copyright (c) 2019 The Hush developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -70,12 +71,17 @@ CBlockIndex *komodo_chainactive(int32_t height); void WaitForShutdown(boost::thread_group* threadGroup) { int32_t i,height; CBlockIndex *pindex; bool fShutdown = ShutdownRequested(); const uint256 zeroid; + fprintf(stderr,"%s: fShutdown=%d, KOMODO_EARLYTXID_HEIGHT=%d\n", __FUNCTION__, fShutdown, KOMODO_EARLYTXID_HEIGHT); + // Tell the main threads to shutdown. if (komodo_currentheight()>KOMODO_EARLYTXID_HEIGHT && KOMODO_EARLYTXID!=zeroid && ((height=tx_height(KOMODO_EARLYTXID))==0 || height>KOMODO_EARLYTXID_HEIGHT)) { fprintf(stderr,"error: earlytx must be before block height %d or tx does not exist\n",KOMODO_EARLYTXID_HEIGHT); StartShutdown(); } + + fprintf(stderr,"%s: earlytx height=%d, ASSETCHAINS_CBOPRET=%li\n", __FUNCTION__, height, ASSETCHAINS_CBOPRET); + /*if ( ASSETCHAINS_STAKED == 0 && ASSETCHAINS_ADAPTIVEPOW == 0 && (pindex= komodo_chainactive(1)) != 0 ) { if ( pindex->nTime > ADAPTIVEPOW_CHANGETO_DEFAULTON ) @@ -84,11 +90,14 @@ void WaitForShutdown(boost::thread_group* threadGroup) fprintf(stderr,"default activate adaptivepow\n"); } else fprintf(stderr,"height1 time %u vs %u\n",pindex->nTime,ADAPTIVEPOW_CHANGETO_DEFAULTON); } //else fprintf(stderr,"cant find height 1\n");*/ - if ( ASSETCHAINS_CBOPRET != 0 ) + + if ( ASSETCHAINS_CBOPRET != 0 ) { komodo_pricesinit(); + } + while (!fShutdown) { - //fprintf(stderr,"call passport iteration\n"); + fprintf(stderr,"call passport iteration\n"); if ( ASSETCHAINS_SYMBOL[0] == 0 ) { if ( KOMODO_NSPV_FULLNODE ) @@ -100,9 +109,7 @@ void WaitForShutdown(boost::thread_group* threadGroup) break; MilliSleep(1000); } - } - else - { + } else { //komodo_interestsum(); //komodo_longestchain(); if ( ASSETCHAINS_CBOPRET != 0 ) @@ -117,6 +124,8 @@ void WaitForShutdown(boost::thread_group* threadGroup) } fShutdown = ShutdownRequested(); } + fprintf(stderr,"%s: fShutdown=%d\n", __FUNCTION__, fShutdown); + if (threadGroup) { Interrupt(*threadGroup); @@ -141,6 +150,8 @@ bool AppInit(int argc, char* argv[]) bool fRet = false; + + fprintf(stderr, "%s start, argc=%d\n", __FUNCTION__, argc); // // Parameters // @@ -189,6 +200,7 @@ bool AppInit(int argc, char* argv[]) } try { + fprintf(stderr, "%s reading config file\n", __FUNCTION__); ReadConfigFile(mapArgs, mapMultiArgs); } catch (const missing_zcash_conf& e) { fprintf(stderr, @@ -216,9 +228,12 @@ bool AppInit(int argc, char* argv[]) // Command-line RPC bool fCommandLine = false; - for (int i = 1; i < argc; i++) - if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "komodo:")) + for (int i = 1; i < argc; i++) { + //TODO: should this be hush: or komodo: ?? + if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "komodo:")) { fCommandLine = true; + } + } if (fCommandLine) { @@ -252,20 +267,23 @@ bool AppInit(int argc, char* argv[]) #endif SoftSetBoolArg("-server", true); + fprintf(stderr,"%s: Running AppInit2()\n", __FUNCTION__); fRet = AppInit2(threadGroup, scheduler); - } - catch (const std::exception& e) { + fprintf(stderr,"%s: Finished AppInit2(), fRet=%d\n", __FUNCTION__, fRet); + } catch (const std::exception& e) { PrintExceptionContinue(&e, "AppInit()"); } catch (...) { PrintExceptionContinue(NULL, "AppInit()"); } if (!fRet) { + fprintf(stderr,"%s: Interrupting threadGroup\n", __FUNCTION__); Interrupt(threadGroup); // threadGroup.join_all(); was left out intentionally here, because we didn't re-test all of // the startup-failure cases to make sure they don't result in a hang due to some // thread-blocking-waiting-for-another-thread-during-startup case } else { + fprintf(stderr,"%s: Waiting for Shutdown\n", __FUNCTION__); WaitForShutdown(&threadGroup); } Shutdown(); diff --git a/src/httpserver.cpp b/src/httpserver.cpp index 2ee8d178f..e1d235665 100644 --- a/src/httpserver.cpp +++ b/src/httpserver.cpp @@ -306,7 +306,7 @@ static void http_reject_request_cb(struct evhttp_request* req, void*) /** Event dispatcher thread */ static void ThreadHTTP(struct event_base* base, struct evhttp* http) { - RenameThread("zcash-http"); + RenameThread("hush-http"); LogPrint("http", "Entering http event loop\n"); event_base_dispatch(base); // Event loop will be interrupted by InterruptHTTPServer() @@ -355,7 +355,7 @@ static bool HTTPBindAddresses(struct evhttp* http) /** Simple wrapper to set thread name and run work queue */ static void HTTPWorkQueueRun(WorkQueue* queue) { - RenameThread("zcash-httpworker"); + RenameThread("hush-httpworker"); queue->Run(); } diff --git a/src/init.cpp b/src/init.cpp index 5257040a6..c928854e5 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -219,7 +219,6 @@ void Shutdown() /// module was initialized. static char shutoffstr[128]; sprintf(shutoffstr,"%s-shutoff",ASSETCHAINS_SYMBOL); - //RenameThread("verus-shutoff"); RenameThread(shutoffstr); mempool.AddTransactionsUpdated(1); @@ -674,7 +673,7 @@ void CleanupBlockRevFiles() void ThreadImport(std::vector vImportFiles) { - RenameThread("zcash-loadblk"); + RenameThread("hush-loadblk"); // -reindex if (fReindex) { CImportingNow imp; diff --git a/src/main.cpp b/src/main.cpp index 6052839f5..187d201c2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin Core developers +// Copyright (c) 2019 The Hush developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -3352,7 +3353,7 @@ bool FindUndoPos(CValidationState &state, int nFile, CDiskBlockPos &pos, unsigne static CCheckQueue scriptcheckqueue(128); void ThreadScriptCheck() { - RenameThread("zcash-scriptch"); + RenameThread("hush-scriptch"); scriptcheckqueue.Thread(); } @@ -4260,6 +4261,7 @@ static int64_t nTimePostConnect = 0; */ bool static ConnectTip(CValidationState &state, CBlockIndex *pindexNew, CBlock *pblock) { + fprintf(stderr, "%s: Start\n", __FUNCTION__); assert(pindexNew->pprev == chainActive.Tip()); // Read block from disk. int64_t nTime1 = GetTimeMicros(); @@ -4270,7 +4272,8 @@ bool static ConnectTip(CValidationState &state, CBlockIndex *pindexNew, CBlock * pblock = █ } KOMODO_CONNECTING = (int32_t)pindexNew->GetHeight(); - //fprintf(stderr,"%s connecting ht.%d maxsize.%d vs %d\n",ASSETCHAINS_SYMBOL,(int32_t)pindexNew->GetHeight(),MAX_BLOCK_SIZE(pindexNew->GetHeight()),(int32_t)::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION)); + fprintf(stderr,"%s connecting ht.%d maxsize.%d vs %d\n",ASSETCHAINS_SYMBOL,(int32_t)pindexNew->GetHeight(),MAX_BLOCK_SIZE(pindexNew->GetHeight()),(int32_t)::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION)); + // Get the current commitment tree SproutMerkleTree oldSproutTree; SaplingMerkleTree oldSaplingTree; @@ -4348,7 +4351,7 @@ bool static ConnectTip(CValidationState &state, CBlockIndex *pindexNew, CBlock * if ( KOMODO_LONGESTCHAIN != 0 && (pindexNew->GetHeight() == KOMODO_LONGESTCHAIN || pindexNew->GetHeight() == KOMODO_LONGESTCHAIN+1) ) KOMODO_INSYNC = (int32_t)pindexNew->GetHeight(); else KOMODO_INSYNC = 0; - //fprintf(stderr,"connect.%d insync.%d ASSETCHAINS_SAPLING.%d\n",(int32_t)pindexNew->GetHeight(),KOMODO_INSYNC,ASSETCHAINS_SAPLING); + fprintf(stderr,"connect.%d insync.%d ASSETCHAINS_SAPLING.%d\n",(int32_t)pindexNew->GetHeight(),KOMODO_INSYNC,ASSETCHAINS_SAPLING); /*if ( KOMODO_INSYNC != 0 ) //ASSETCHAINS_SYMBOL[0] == 0 && komodo_broadcast(pblock,8); else if ( ASSETCHAINS_SYMBOL[0] != 0 ) @@ -4448,6 +4451,7 @@ static void PruneBlockIndexCandidates() { * pblock is either NULL or a pointer to a CBlock corresponding to pindexMostWork. */ static bool ActivateBestChainStep(bool fSkipdpow, CValidationState &state, CBlockIndex *pindexMostWork, CBlock *pblock) { + fprintf(stderr,"%s: fSkipdpow=%d\n", __FUNCTION__, fSkipdpow); AssertLockHeld(cs_main); bool fInvalidFound = false; const CBlockIndex *pindexOldTip = chainActive.Tip(); @@ -4583,6 +4587,7 @@ static bool ActivateBestChainStep(bool fSkipdpow, CValidationState &state, CBloc * that is already loaded (to avoid loading it again from disk). */ bool ActivateBestChain(bool fSkipdpow, CValidationState &state, CBlock *pblock) { + fprintf(stderr,"%s: fSkipdpow=%d\n", __FUNCTION__, fSkipdpow); CBlockIndex *pindexNewTip = NULL; CBlockIndex *pindexMostWork = NULL; const CChainParams& chainParams = Params(); diff --git a/src/metrics.cpp b/src/metrics.cpp index 1fa8ebfb5..7a46a6dfd 100644 --- a/src/metrics.cpp +++ b/src/metrics.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2016 The Zcash developers +// Copyright (c) 2019 The Hush developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -298,7 +299,7 @@ int printMiningStatus(bool mining) lines++; } else { std::cout << _("You are currently not mining.") << std::endl; - std::cout << _("To enable mining, add 'gen=1' to your zcash.conf and restart.") << std::endl; + std::cout << _("To enable mining, add 'gen=1' to your HUSH3.conf and restart.") << std::endl; lines += 2; } std::cout << std::endl; @@ -479,7 +480,7 @@ bool enableVTMode() void ThreadShowMetricsScreen() { // Make this thread recognisable as the metrics screen thread - RenameThread("zcash-metrics-screen"); + RenameThread("hush-metrics-screen"); // Determine whether we should render a persistent UI or rolling metrics bool isTTY = isatty(STDOUT_FILENO); @@ -499,8 +500,8 @@ void ThreadShowMetricsScreen() std::cout << std::endl; // Thank you text - std::cout << _("Thank you for running a Zcash node!") << std::endl; - std::cout << _("You're helping to strengthen the network and contributing to a social good :)") << std::endl; + std::cout << _("Thank you for running a Hush node!") << std::endl; + std::cout << _("You are helping secure the network and others Speak And Transact Freely!") << std::endl; // Privacy notice text std::cout << PrivacyInfo(); @@ -552,7 +553,7 @@ void ThreadShowMetricsScreen() // Explain how to exit std::cout << "["; #ifdef WIN32 - std::cout << _("'zcash-cli.exe stop' to exit"); + std::cout << _("'hush-cli.exe stop' to exit"); #else std::cout << _("Press Ctrl+C to exit"); #endif diff --git a/src/util.cpp b/src/util.cpp index b6e868489..cc66822ad 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -539,10 +539,10 @@ boost::filesystem::path GetDefaultDataDir() if ( ASSETCHAINS_SYMBOL[0] != 0 ) strcpy(symbol,ASSETCHAINS_SYMBOL); else symbol[0] = 0; - // Windows < Vista: C:\Documents and Settings\Username\Application Data\Zcash - // Windows >= Vista: C:\Users\Username\AppData\Roaming\Zcash - // Mac: ~/Library/Application Support/Zcash - // Unix: ~/.zcash + // Windows < Vista: C:\Documents and Settings\Username\Application Data\Komodo + // Windows >= Vista: C:\Users\Username\AppData\Roaming\Komodo + // Mac: ~/Library/Application Support/Komodo + // Unix: ~/.komodo #ifdef _WIN32 // Windows if ( symbol[0] == 0 ) @@ -589,6 +589,7 @@ static boost::filesystem::path ZC_GetBaseParamsDir() // Windows >= Vista: C:\Users\Username\AppData\Roaming\ZcashParams // Mac: ~/Library/Application Support/ZcashParams // Unix: ~/.zcash-params + // Debian packages: /usr/share/hush fs::path pathRet; #ifdef _WIN32 return GetSpecialFolderPath(CSIDL_APPDATA) / "ZcashParams"; diff --git a/src/util.h b/src/util.h index 17bf19952..b0c0b32ea 100644 --- a/src/util.h +++ b/src/util.h @@ -264,7 +264,7 @@ void RenameThread(const char* name); */ template void TraceThread(const char* name, Callable func) { - std::string s = strprintf("zcash-%s", name); + std::string s = strprintf("hush-%s", name); RenameThread(s.c_str()); try { diff --git a/src/wallet/walletdb.cpp b/src/wallet/walletdb.cpp index d2d90a85f..c451e02e1 100644 --- a/src/wallet/walletdb.cpp +++ b/src/wallet/walletdb.cpp @@ -1115,7 +1115,7 @@ DBErrors CWalletDB::ZapWalletTx(CWallet* pwallet, vector& vWtx) void ThreadFlushWalletDB(const string& strFile) { // Make this thread recognisable as the wallet flushing thread - RenameThread("zcash-wallet"); + RenameThread("hush-wallet"); static bool fOneThread; if (fOneThread)