Add getblocksubsidy RPC command to return the block reward for a given

block, taking into account the mining slow start.
This commit is contained in:
Simon
2016-06-27 13:04:33 -07:00
parent 1ea8b00926
commit 1b114e54c4
4 changed files with 29 additions and 1 deletions

View File

@@ -766,3 +766,27 @@ Value estimatepriority(const Array& params, bool fHelp)
return mempool.estimatePriority(nBlocks);
}
Value getblocksubsidy(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 1)
throw runtime_error(
"getblocksubsidy index\n"
"\nReturns block subsidy reward, taking into account the mining slow start, of block at index provided.\n"
"\nArguments:\n"
"1. index (numeric, required) The block index\n"
"\nResult:\n"
"amount (numeric) The block reward amount in ZEC.\n"
"\nExamples:\n"
+ HelpExampleCli("getblocksubsidy", "1000")
+ HelpExampleRpc("getblockubsidy", "1000")
);
LOCK(cs_main);
int nHeight = params[0].get_int();
if (nHeight < 0 || nHeight > chainActive.Height())
throw JSONRPCError(RPC_INVALID_PARAMETER, "Block height out of range");
CAmount nReward = GetBlockSubsidy(nHeight, Params().GetConsensus());
return ValueFromAmount(nReward);
}