We thought it'd be a good idea to do an announcement on:
-Where we are in development
-What needs to be done
-Beta-Testing
-Set Backs, and how we plan to deal with them
First, is "Where we are in development"; as you all know, we are currently fixing a rewards issue, where PoS blocks are paying miners -217.37745097 KONJ, and as a result the check defined in main.cpp, which reads as follows:
int64_t nCalculatedStakeReward = GetProofOfStakeReward(pindex->pprev, nCoinAge, nFees);
if (nStakeReward > nCalculatedStakeReward){
return DoS(100, error("ConnectBlock() : coinstake pays too much(actual=%d vs calculated=%d)", nStakeReward, nCalculatedStakeReward));
}
It's a check that pretty much means "If the PoS reward wasn't what I was expecting, I'll record the fact that it didn't meet those expectations, but as a result I won't permit anyone to sync to these blocks, now will I allow miners to move a Proof of Work block". This check has been taken into account for the sake of beta testing.
So, in short PoS rewards are negative, and people can't move a PoW block. Not exactly a position that people would find favorable, as a result we've put all development of features on halt to focus on restoring the "health" of the chain. As a result of this, as well as the realization of the consumption of Power from miners, PoW rewards will cease on block 700,000. This is to make the chain more green. There will also be an announced fork time where all the rewards will fix itself. On top of this, there will be a feature implemented as to where the winners of the blocks with negative PoS values will be credited the coins they should have gotten. If this approach doesn't work, there is the contingency of simply paying everyone the amount they have lost from the DevOps wallet. On top of this, we've also found out that the DevOps address in chainparams.cpp isn't the real one, so we've fixed that. Now, on to the next topic.
There are a few things left to be done, as we've pretty much covered a majority of it to date, thanks to @pepsinside who wrote the functions in blockparams.cpp to change the blockrewards appropriately, to the following:
https://cdn.discordapp.com/attachments/574602574469005331/840430211120234536/KonjRewardsCumul.pngThe code should be applied after nPaymentUpdate4, which will be defined in fork.h, which will be announced before the final release of the patched wallet. On top of this, there is the matter of the large CPU resources required for the wallet, we will clean up the source at a later date, as right now we're pretty much in a state of emergency to get this fix out. Be on the lookout for programming streams where we'll be addressing the CPU issues and some other issues live. Now for Beta-testing, set backs, and how we've been dealing with them.
Right now, the majority of the required code has been finished, it's just getting the wallet to not crash, which for some reason has begun happening after compilation of newer clients. We've been talking to some other developers on why it might be happening, so we'll definitely get that sorted within 24 or 48 hours of this announcement. So, expect to see a few beta releases on the
https://github.com/Konjungate/Konjungate-Core GitHub. If you'd like to help us beta test these wallets, please let us know, we will be more than happy to role you. We'll need all the help we can get. Don't worry, we'll get everyone rolling