- Block reward controlled by moores law ( 1111 / (diff+1 ^ 2))
This is not working, right? I'm getting 500 coins as reward
see all function in source )))
int64 static GetBlockValue(int nBits, int64 nFees)
{
double dDiff =
(double)0x0000ffff / (double)(nBits & 0x00ffffff);
int64 nSubsidy = (1111 / (pow((dDiff+1),2)));
if (nSubsidy > 500) nSubsidy = 500;
if (nSubsidy < 1) nSubsidy = 1;
nSubsidy *= COIN;
return nSubsidy + nFees;
}
so i guess we have unlimited coins, dind't find your 84 mio max coins there !!!!!!!
static const int64 MAX_MONEY = 84000000 * COIN;
--> COINS that can be max in wallet/transaction - this has almost nothing to do with the cap, because the COIN cap is calculated from the blockvalue!!
if (txout.nValue > MAX_MONEY)
return state.DoS(100, error("CTransaction::CheckTransaction() : txout.nValue too high"));
that checks transactions for MAX_MONEY but there isn't any check that prevents us from mining more than 84 mio coins !!