https://github.com/YCteam/YellowCoin/blob/master/src/main.cpp#L994const int DAILY_BLOCKCOUNT = 4320; // 1440 * 3
int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTime, int nHeight)
{
int64 nRewardCoinYear;
nRewardCoinYear = MAX_MINT_PROOF_OF_STAKE;
if(nHeight < (7 * DAILY_BLOCKCOUNT))
nRewardCoinYear = 1 * MAX_MINT_PROOF_OF_STAKE;
else if(nHeight < (18 * DAILY_BLOCKCOUNT))
nRewardCoinYear = 1000 * MAX_MINT_PROOF_OF_STAKE;
int64 nSubsidy = nCoinAge * nRewardCoinYear / 365;
if (fDebug && GetBoolArg("-printcreation"))
printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRI64d" nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits);
return nSubsidy;
}
Seems nothing wrong with the code. We will get 10% POS soon.
i think some wrong with nHeight
and maybe work this string in code
nRewardCoinYear = MAX_MINT_PROOF_OF_STAKE;
i found
main.h:36:static const int64 MAX_MINT_PROOF_OF_STAKE = 0.0365 * COIN; // 3.65% annual interest
so during the pos phase distribution we have 1000*3,65% = 3650% /year It means not 10% daily as dev stated but roughly 1%/daily.
I don t know if it was intentionnaly.
The right number should have been
const int DAILY_BLOCKCOUNT = 4320; // 1440 * 3
int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTime, int nHeight)
{
int64 nRewardCoinYear;
nRewardCoinYear = MAX_MINT_PROOF_OF_STAKE;
if(nHeight < (7 * DAILY_BLOCKCOUNT))
nRewardCoinYear = 1 * MAX_MINT_PROOF_OF_STAKE;
else if(nHeight < (18 * DAILY_BLOCKCOUNT))
nRewardCoinYear = 35159056994887200 * MAX_MINT_PROOF_OF_STAKE;
int64 nSubsidy = nCoinAge * nRewardCoinYear / 365;
if (fDebug && GetBoolArg("-printcreation"))
printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRI64d" nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits);
return nSubsidy;
}
Sorry guys
edit : 35159056994887200 * 0,0365 * COIN = 1,1^365 * COIN