Fixed several bugs I found in yesterday’s code and now it is keeping persistent state pretty well. After the bug fixes I havent seen it forget any state change event, which are all in an append only file.
got the round robin mining code finally compiling, a lot of small changes in the C++ code was required. released a hardfork version for testnet at block 34000, and we will find out tomorrow if the mining diff is lowest diff for one notary node per block, on a rotating basis.
also beefed up the updating of elected notaries via the ratification transaction. this went hand in hand with the mining difficulty change as both needs to know the exact consensus on the elected notaries as of any height. Coding that up allowed solving both issues at the same time.
i also changed from linear searches to hash lookups for both searches that are needed, so now there wont be any slowdowns regardless of how many notary sets there are or notary utxo.
I am sure there are still issues as the notary operators are reporting some problems compiling, but I had a bit of time so I figured I would update status.
What is left to do after stabilizing the current release is: award 5% APR
yes, just one item left and komodod will be done except for mainnetization.
I am making good progress and looking forward to connecting assetchains to dPoW next week.
Just saw: 2016-10-20 17:34:16 ERROR: ContextualCheckBlockHeader: forked chain older than last notarized (height 33420)
This is the dPoW protection in action! The latest notarized height is 33420 and a block earlier than that was trying to propagate, and rejected.
probably some edge cases yet to fix, but always nice when the first deployment is working as it should
A little bit later…
Thanks to all the notary node operators, we found and fixed several crash type bugs.
still hunting down one last crash and I also need to add a height range to the notarized checkpoints, but that is simple logic.
the crash is appearing only after a block is mined, so takes a while to duplicate
I also notice the few things I added to the bitcoind code has slowed things down, it sure isnt iguana speeds… Probably will need to allocate a bit of time to optimize performance
I dont think many people reading this thread realize that every day there are a dozen notary node operators updating to the latest build and helping troubleshoot any issues with the latest versions. Without all this effort there is no way that dPoW would have come together so fast as debugging is a time consuming process.
Having so many different servers testing it all at once… well it is hard for bugs to hide for long. They are all so busy with the servers, they hardly ever post here and are the unsung heroes
I think there is an archive of the #notarynode slack channel somewhere so people can see how much effort is being put into komodo.
A moment later…
gdb backtrace identified exact line
new version in testing
what could have otherwise taken days to track down, we did it in a couple hours