Sorry all for the delay. We all have been up for over 24 Hours
This project was a long while in the making. Though it may seem easy for people to make mistakes, I would like to bring your attention to our Main.cpp Source Code situated on our GitHub page:
https://github.com/RedOakCoin/RedOakCoinstatic const int64 nDiffChangeTarget = 17280; //initiate 'Rolling Roc' @
static const int64 patchBlockRewardDuration = 1; //per block decay
int64 GetROCSubsidy(int nHeight)
{
// Special thanks to P.B. for working out a truly unique and stable decay function
int64 qSubsidy = 115.0 * COIN;
int blocks = nHeight - nDiffChangeTarget;
int weeks = (blocks / patchBlockRewardDuration)+1; //can int64 qSubsidy handle this with out a double handle
for(int i = 0; i < weeks; i++) qSubsidy -= (qSubsidy * 0.00000164847); //decrease reward by calculated amount 0.00016%
return qSubsidy;
}
int64 static GetBlockValue(int nHeight, int64 nFees) {
int64 nSubsidy = COIN;
if(nHeight < nDiffChangeTarget) {
//this is PreDecay Subsidy Value, reward is 129.53
nSubsidy = 129.53 * COIN;
} else {
//takes effect after 17280 blocks
nSubsidy = GetROCSubsidy(nHeight);
}
// ( @REM -> UsageID: 0078659 )
//if(nSubsidy < COIN) {
// nSubsidy = COIN;
//}
return nSubsidy + nFees;
}
int nTargetTimespan = 1.5 * 24 * 60 * 60; // 1.5 days
int nTargetSpacing = 2.5 * 60; // 2.5 minutes
Naturally, this is what we, the RedOakCoin Devs., have stated in the OP.
We chose to base our Scrypt Coin after one of the first coins I ever miner,
https://www.feathercoin.com/, it was their brilliant code and advanced security checkpointing system that has, and will continue to help us realize our goals with RedOakCoin & RedOakIndustries.
Inside of their custom, unique
unsigned int static GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock) function
int nInterval = nTargetTimespan / nTargetSpacing;
if(nInterval >= nHeight) nInterval = nHeight - 1;
// Go back by nInterval
const CBlockIndex* pindexFirst = pindexLast;
for(int i = 0; pindexFirst && i < nInterval; i++)
pindexFirst = pindexFirst->pprev;
assert(pindexFirst);
int nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime();
printf("RETARGET: nActualTimespan = %d before bounds\n", nActualTimespan);
This means that the difficulty adjustments you are seeing are minor changes as per-the above stated code; this code, to those who are less adapted to reading C++ can be viewed as a KimotoGravityWell of sorts, but more customized.
After the natural 1.5 days, there will be the natural triggered difficulty adjustment. Honestly, we were not expecting this many people at this rate to jump on all at once. My partner looks at me and says, "We should have pre-mined."
But really, if it wasn't for
jjj0923 &
pool-darktech a year's worth of work would have made the people of Bitcointalk very wealthy. They saved the Coin and my Team's compensations from my personal 40MH/s. farm. I look forward to keeping their pools on as the Official RedOakCoin Pools.