Regarding MAX_MONEY:Here is your code for calculating block subsidy. There is no logic for reducing the subsidy to zero once 42,000,000 coins have been mined. 'MAX_MONEY' in the code is pretty much used for sending restrictions. Currently there can be an
infinite amount of coins produced. This needs to be addressed if anyone plans on giving it a monetary valuation. This isn't limited to this project and is generally overlooked in many coin projects/code.
https://github.com/zyrkproject/zyrk-core/blob/master/src/validation.cpp#L1459CAmount GetBlockSubsidy(int nHeight, uint32_t nTime)
{
if (nHeight == 1)
return 200000 * COIN;
if (nHeight > 1 && nHeight <= 250)
return 1 * COIN;
int64_t netHashRate = chainActive.GetNetworkHashPS(24, nHeight);
return Params().SubsidyValue(netHashRate, nTime);
}
Block 1 = 200,000 ZYRK (Premine)
Blocks 2-250 = 1 ZYRK
Blocks 251-Infinity = calculated dynamically
Regarding the Premine:As a general unwritten rule, you need to make a checkpoint for the premine block (block 1).
https://github.com/zyrkproject/zyrk-core/blob/master/src/chainparams.cpp#L195 checkpointData = {
{
{ 0, uint256S("0x00000d8a24f1303b9d29566987e31c6ec289caa102657dda3a0ce6c4e4993035")},
}
};