adding staking info and checkkernel
This commit is contained in:
@@ -274,6 +274,42 @@ UniValue getmininginfo(const UniValue& params, bool fHelp)
|
||||
return obj;
|
||||
}
|
||||
|
||||
UniValue getstakinginfo(const UniValue& params, bool fHelp)
|
||||
{
|
||||
if (fHelp || params.size() != 0)
|
||||
throw runtime_error(
|
||||
"getstakinginfo\n"
|
||||
"Returns an object containing staking-related information.");
|
||||
|
||||
uint64_t nWeight = 0;
|
||||
if (pwalletMain)
|
||||
nWeight = pwalletMain->GetStakeWeight();
|
||||
|
||||
uint64_t nNetworkWeight = GetPoSKernelPS();
|
||||
bool staking = nLastCoinStakeSearchInterval && nWeight;
|
||||
uint64_t nExpectedTime = staking ? 1.0455 * 64 * nNetworkWeight / nWeight : 0;
|
||||
|
||||
UniValue obj(UniValue::VOBJ);
|
||||
|
||||
obj.push_back(Pair("enabled", GetBoolArg("-staking", true)));
|
||||
obj.push_back(Pair("staking", staking));
|
||||
obj.push_back(Pair("errors", GetWarnings("statusbar")));
|
||||
|
||||
obj.push_back(Pair("currentblocksize", (uint64_t)nLastBlockSize));
|
||||
obj.push_back(Pair("currentblocktx", (uint64_t)nLastBlockTx));
|
||||
obj.push_back(Pair("pooledtx", (uint64_t)mempool.size()));
|
||||
|
||||
obj.push_back(Pair("difficulty", GetDifficulty(GetLastBlockIndex(chainActive.Tip(), true))));
|
||||
obj.push_back(Pair("search-interval", (int)nLastCoinStakeSearchInterval));
|
||||
|
||||
obj.push_back(Pair("weight", (uint64_t)nWeight));
|
||||
obj.push_back(Pair("netstakeweight", (uint64_t)nNetworkWeight));
|
||||
|
||||
obj.push_back(Pair("expectedtime", nExpectedTime));
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
||||
// NOTE: Unlike wallet RPC (which use BTC values), mining RPCs follow GBT (BIP 22) in using satoshi amounts
|
||||
UniValue prioritisetransaction(const UniValue& params, bool fHelp)
|
||||
|
||||
Reference in New Issue
Block a user