Below is a quick overview of work did last week by the BlockTrades team on hardfork 24:
Originally, we hoped to put out a release candidate on Monday of last week, but this was not to be: we discovered a bug in the snapshot code during last minute testing. Ultimately we traced the problem down to a long-standing bug in the fc library’s serialization code for boost interprocess vectors that the snapshot algorithm depends on.
On Friday, after fixing the snapshot bug and verifying proper snapshot operation, we decided we were ready to tag a release candidate so that witnesses and other interested parties can begin testing Eclipse in various testnet configurations. The source code and a description of the new features added in release candiate v1.0.11 are located here: https://gitlab.syncad.com/hive/hive/-/tags/v1.0.11
Over the weekend, a couple of the witnesses began simple stand-alone testing such as replaying the blockchain with mainnet data and testing the snapshot feature, so I expect we’ll see some posts this upcoming week with real world performance data on various types of hardware/software setups.
A lot of work last week continued to be spent on hivemind. We fixed bugs and differences we found between API results between old hivemind and Eclipse hivemind. The include bugs related to post last update time, sorting orders for hive posts, and trending tags. We also re-implemented the hot/trending algorithms in hivemind (previously this was done in hived).
We also added more logging to record the times that hivemind spent processing each operation and virtual operation during the synching process. This will be helpful in the future when we want to do more optimizations to overall sync time, by allowing us to isolate the bottlenecks during syncing (both initial sync and live synching as new blocks are created).
Plans for this week
For hivemind, the last major issue we need to work on is notifications. We’ll be meeting tomorrow to analyze why this code isn’t currently working, and also looking at potentially faster ways to implement it, since the current implementation doesn’t appear particularly efficient.
We now have 3 people dedicated to creating api tests for hivemind. In the coming week, we plan to review and integrate the new tests that have been created. For those who like to see the details of the tests we use, note that these commits are made to the test_api repo, not the hivemind repo.
We’re also planning to begin a final hivemind sync using Eclipse early this week, so that we can try a quick smoketest with a condenser instance by Friday (a hivemind sync takes about 3 days). This will be our first opportunity to try out a full API node based on Eclipse. If that goes well, we would like to setup an Eclipse node for apps testing by sometime next week.
At this point, we don’t expect to make any more changes to hived unless errors are exposed during testing, except for setting the final HF date. Because we lost several days due to the fc bug, we’ve upped the expected HF date to September 16, to give witnesses and apps developers more time to test. Please note this is still a tentative date, and is subject to change if errors are discovered during testing.