From 392e034334886beef00bfbcc0d36de049b10a872 Mon Sep 17 00:00:00 2001 From: Leviathn Date: Wed, 10 Feb 2016 18:29:13 -0800 Subject: [PATCH] Remove internal miner --- src/init.cpp | 12 +++---- src/miner.h | 5 +-- src/rpc/client.cpp | 3 -- src/rpc/mining.cpp | 79 ---------------------------------------------- 4 files changed, 6 insertions(+), 93 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 9098219dd..7e8f21782 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -187,8 +187,10 @@ void Shutdown() StopREST(); StopRPC(); StopHTTPServer(); - - GenerateBitcoins(false, 0, Params()); +#ifdef ENABLE_WALLET + if (pwalletMain) + pwalletMain->Flush(false); +#endif StopNode(); StopTorControl(); UnregisterNodeSignals(GetNodeSignals()); @@ -410,8 +412,6 @@ std::string HelpMessage(HelpMessageMode mode) _("If is not supplied or if = 1, output all debugging information.") + _(" can be:") + " " + debugCategories + "."); if (showDebug) strUsage += HelpMessageOpt("-nodebug", "Turn off debugging messages, same as -debug=0"); - strUsage += HelpMessageOpt("-gen", strprintf(_("Generate coins (default: %u)"), DEFAULT_GENERATE)); - strUsage += HelpMessageOpt("-genproclimit=", strprintf(_("Set the number of threads for coin generation if enabled (-1 = all cores, default: %d)"), DEFAULT_GENERATE_THREADS)); strUsage += HelpMessageOpt("-help-debug", _("Show all debugging options (usage: --help -help-debug)")); strUsage += HelpMessageOpt("-logips", strprintf(_("Include IP addresses in debug output (default: %u)"), DEFAULT_LOGIPS)); strUsage += HelpMessageOpt("-logtimestamps", strprintf(_("Prepend debug output with timestamp (default: %u)"), DEFAULT_LOGTIMESTAMPS)); @@ -1435,16 +1435,14 @@ bool AppInit2(Config& config, boost::thread_group& threadGroup, CScheduler& sche InitRespendFilter(); StartNode(threadGroup, scheduler); - // Generate coins in the background - GenerateBitcoins(GetBoolArg("-gen", DEFAULT_GENERATE), GetArg("-genproclimit", DEFAULT_GENERATE_THREADS), chainparams); #ifdef ENABLE_WALLET // Mine proof-of-stake blocks in the background if (!GetBoolArg("-staking", true)) LogPrintf("Staking disabled\n"); else if (pwalletMain) threadGroup.create_thread(boost::bind(&ThreadStakeMiner, pwalletMain, chainparams)); - // ********************************************************* Step 12: finished + // ********************************************************* Step 12: finished #endif SetRPCWarmupFinished(); uiInterface.InitMessage(_("Done loading")); diff --git a/src/miner.h b/src/miner.h index cd58d95c4..c905e213a 100644 --- a/src/miner.h +++ b/src/miner.h @@ -18,9 +18,6 @@ class CWallet; class CBlock; namespace Consensus { struct Params; }; -static const bool DEFAULT_GENERATE = false; -static const int DEFAULT_GENERATE_THREADS = 1; - static const bool DEFAULT_PRINTPRIORITY = false; struct CBlockTemplate @@ -33,7 +30,7 @@ struct CBlockTemplate /** Run the miner threads */ void GenerateBitcoins(bool fGenerate, int nThreads, const CChainParams& chainparams); void ThreadStakeMiner(CWallet *pwallet, const CChainParams& chainparams); -/** Run the miner threads */ +/** Sign a block */ bool SignBlock(CBlock& block, CWallet& wallet, int64_t& nFees); /** Generate a new block, without valid proof-of-work */ CBlockTemplate* CreateNewBlock(const CChainParams& chainparams, const CScript& scriptPubKeyIn, int64_t* nFees = 0, bool fProofOfStake = false); diff --git a/src/rpc/client.cpp b/src/rpc/client.cpp index 5cdccd4d8..b5dfc4670 100644 --- a/src/rpc/client.cpp +++ b/src/rpc/client.cpp @@ -27,8 +27,6 @@ static const CRPCConvertParam vRPCConvertParams[] = { "stop", 0 }, { "setmocktime", 0 }, { "getaddednodeinfo", 0 }, - { "setgenerate", 0 }, - { "setgenerate", 1 }, { "generate", 0 }, { "getnetworkhashps", 0 }, { "getnetworkhashps", 1 }, @@ -163,4 +161,3 @@ UniValue RPCConvertValues(const std::string &strMethod, const std::vector 0 ? params[0].get_int() : 120, params.size() > 1 ? params[1].get_int() : -1); } -UniValue getgenerate(const UniValue& params, bool fHelp) -{ - if (fHelp || params.size() != 0) - throw runtime_error( - "getgenerate\n" - "\nReturn if the server is set to generate coins or not. The default is false.\n" - "It is set with the command line argument -gen (or " + std::string(BITCOIN_CONF_FILENAME) + " setting gen)\n" - "It can also be set with the setgenerate call.\n" - "\nResult\n" - "true|false (boolean) If the server is set to generate coins or not\n" - "\nExamples:\n" - + HelpExampleCli("getgenerate", "") - + HelpExampleRpc("getgenerate", "") - ); - - LOCK(cs_main); - return GetBoolArg("-gen", DEFAULT_GENERATE); -} - UniValue generate(const UniValue& params, bool fHelp) { if (fHelp || params.size() < 1 || params.size() > 1) @@ -189,60 +170,6 @@ UniValue generate(const UniValue& params, bool fHelp) return blockHashes; } -UniValue setgenerate(const UniValue& params, bool fHelp) -{ - if (fHelp || params.size() < 1 || params.size() > 2) - throw runtime_error( - "setgenerate generate ( genproclimit )\n" - "\nSet 'generate' true or false to turn generation on or off.\n" - "Generation is limited to 'genproclimit' processors, -1 is unlimited.\n" - "See the getgenerate call for the current setting.\n" - "\nArguments:\n" - "1. generate (boolean, required) Set to true to turn on generation, off to turn off.\n" - "2. genproclimit (numeric, optional) Set the processor limit for when generation is on. Can be -1 for unlimited.\n" - "\nExamples:\n" - "\nSet the generation on with a limit of one processor\n" - + HelpExampleCli("setgenerate", "true 1") + - "\nCheck the setting\n" - + HelpExampleCli("getgenerate", "") + - "\nTurn off generation\n" - + HelpExampleCli("setgenerate", "false") + - "\nUsing json rpc\n" - + HelpExampleRpc("setgenerate", "true, 1") - ); - - if (Params().MineBlocksOnDemand()) - throw JSONRPCError(RPC_METHOD_NOT_FOUND, "Use the generate method instead of setgenerate on this network"); - - bool fGenerate = true; - if (params.size() > 0) - fGenerate = params[0].get_bool(); - - int nGenProcLimit = GetArg("-genproclimit", DEFAULT_GENERATE_THREADS); - if (params.size() > 1) - { - nGenProcLimit = params[1].get_int(); - if (nGenProcLimit == 0) - fGenerate = false; - } - - mapArgs["-gen"] = (fGenerate ? "1" : "0"); - mapArgs ["-genproclimit"] = itostr(nGenProcLimit); - - CTxDestination destination = DecodeDestination(params[1].get_str()); - if (!IsValidDestination(destination)) { - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, - "Error: Invalid address"); - } - - boost::shared_ptr coinbaseScript(new CReserveScript()); - coinbaseScript->reserveScript = GetScriptForDestination(destination); - - GenerateBitcoins(fGenerate, nGenProcLimit, Params()); - - return NullUniValue; -} - UniValue getmininginfo(const UniValue& params, bool fHelp) { if (fHelp || params.size() != 0) @@ -256,8 +183,6 @@ UniValue getmininginfo(const UniValue& params, bool fHelp) " \"currentblocktx\": nnn, (numeric) The last block transaction\n" " \"difficulty\": xxx.xxxxx (numeric) The current difficulty\n" " \"errors\": \"...\" (string) Current errors\n" - " \"generate\": true|false (boolean) If the generation is on or off (see getgenerate or setgenerate calls)\n" - " \"genproclimit\": n (numeric) The processor limit for generation. -1 if no generation. (see getgenerate or setgenerate calls)\n" " \"pooledtx\": n (numeric) The size of the mem pool\n" " \"testnet\": true|false (boolean) If using testnet or not\n" " \"chain\": \"xxxx\", (string) current network name as defined in BIP70 (main, test, regtest)\n" @@ -276,12 +201,10 @@ UniValue getmininginfo(const UniValue& params, bool fHelp) obj.push_back(Pair("currentblocktx", (uint64_t)nLastBlockTx)); obj.push_back(Pair("difficulty", (double)GetDifficulty())); obj.push_back(Pair("errors", GetWarnings("statusbar"))); - obj.push_back(Pair("genproclimit", (int)GetArg("-genproclimit", DEFAULT_GENERATE_THREADS))); obj.push_back(Pair("networkhashps", getnetworkhashps(params, false))); obj.push_back(Pair("pooledtx", (uint64_t)mempool.size())); obj.push_back(Pair("testnet", Params().TestnetToBeDeprecatedFieldRPC())); obj.push_back(Pair("chain", Params().NetworkIDString())); - obj.push_back(Pair("generate", getgenerate(params, false))); return obj; } @@ -1055,8 +978,6 @@ static const CRPCCommand commands[] = { "mining", "checkkernel", &checkkernel, true }, { "mining", "getstakinginfo", &getstakinginfo, true }, - { "generating", "getgenerate", &getgenerate, true }, - { "generating", "setgenerate", &setgenerate, true }, { "generating", "generate", &generate, true }, { "util", "estimatefee", &estimatefee, true },