Below is a list of Hive-related programming issues worked on by BlockTrades team during the last few weeks: # Hived work (blockchain node software) We finished implementing and testing the following hardfork 25 changes: [New operation and associated API calls to convert Hive→Hive dollars (HBD) as a means of improving upside pegging of Hive dollars](https://gitlab.syncad.com/hive/hive/-/merge_requests/191). For more information, see https://hive.blog/hive-102930/@blocktrades/proposed-hardfork-change-to-stabilize-hive-dollar-s-tracking-of-usd-value [Hive dollars must be stored in a savings account to earn interest](https://gitlab.syncad.com/hive/hive/-/merge_requests/201). For more information, see: https://hive.blog/hive-102930/@blocktrades/proposal-to-make-hbd-interest-payable-only-to-savings-accounts [Completed testing and created examples demonstrating functioning of new curation reward rules](https://gitlab.syncad.com/hive/hive/-/merge_requests/204) New unit tests: https://gitlab.syncad.com/hive/hive/-/merge_requests/195 [Fixed small issue that caused vote expiration to happen one block later than it should](https://gitlab.syncad.com/hive/hive/-/merge_requests/212) [Allow votes on posts after they have paid out (votes once again allowed on posts older than 7 days)](https://gitlab.syncad.com/hive/hive/-/merge_requests/189) We also reviewed @howo support for recurrent transfers in HF25 and expect to merge those changes in tomorrow. ## Other work on hived [Simplified cmake build options for hived (eliminated various hived build configurations like LOW_MEMORY_NODE and CLEAR_VOTES that weren’t practically useful and mostly just caused confusion)](https://gitlab.syncad.com/hive/hive/-/merge_requests/196). [Removed support for COMMENT_CONTENT_SUPPORT](https://gitlab.syncad.com/hive/hive/-/merge_requests/1930) [Improved reporting and debugging capabilities of unit tests](https://gitlab.syncad.com/hive/hive/-/merge_requests/206) [Allow running a subset of the entire suite based on a filter](https://gitlab.syncad.com/hive/hive/-/merge_requests/209) [Updated get_config API call with new configuration variables](https://gitlab.syncad.com/hive/hive/-/merge_requests/192) [--force-reply command-line option no longer also requires use of –replay option and it also automatically deletes the shared_memory file, eliminating that manual step](https://gitlab.syncad.com/hive/hive/-/merge_requests/190) [Proposal ids are now reported by proposal-pay virtual operation](https://gitlab.syncad.com/hive/hive/-/merge_requests/202) [Clear the memo key of hive.fund as requested by @smooth](https://gitlab.syncad.com/hive/hive/-/merge_requests/210) [Fix the version of hived reported when SMTs not enabled](https://gitlab.syncad.com/hive/hive/-/merge_requests/207) [Fix a problem with static builds and libreadline](https://gitlab.syncad.com/hive/hive/-/issues/143) [Unify the version of C++ used when building hived and refactor cmake files so that it only requires a change in one place](https://gitlab.syncad.com/hive/hive/-/merge_requests/208). Currently we’re using C++14 for the hardfork. We tested with C++17 and found one bug, which we fixed, but decided to delay making C++17 the standard version for builds since we’re getting close to hardfork time. After the hardfork, we’ll likely move to C++17 or C++20 for future development. # Hivemind (2nd layer applications + social media middleware) [Fixes and improvement to community mute functionality](https://gitlab.syncad.com/hive/hivemind/-/merge_requests/490) [Fixed pagination of bridge.list_community_roles](https://gitlab.syncad.com/hive/hivemind/-/merge_requests/491) # Modular hivemind We’re making solid progress on modular hivemind, especially with regard to fork resolution handling. It looks like we’ll be able to avoid the need for a C extension to postgres and can instead rely on a “SQL-only” solution using “shadow tables” to save and restore changes to the tables that store data that can be changed when hived switches to a different micro-fork. # Condenser We made several fixes to condenser and also reviewed some new features by @quochuy and @jpphotography. # Upcoming work ## Hived code freeze and launch of testnet We plan to merge in the remaining hived code changes (a few minor fixes + recurrent transfers support) tomorrow, then assist in launch of testnet on Wednesday. We’ll test for two weeks, then hopefully be ready to merge the release candidate into the master branch, at which point we’ll give exchanges at least 30 days notice to update. So if no problems, we can expect the hardfork in about six weeks from Wednesday. ## Test latest hivemind changes We’ll be running a full sync of hivemind with the latest changes, then test real world performance in a production environment on api.hive.blog, followed by a production release to the API nodes next week if no problems are found. ## SQL Account history plugin for hived We plan to complete the changes to the SQL account history plugin that pushes data to postgres (eliminating the need for hivemind to pull the data via RPC calls) in the new couple of days. After the plugin changes are completed, we’ll run a simultaneous replay of hived with a full sync of hivemind to measure the speedup, and see if it matches our expected improvement in hivemind full sync time (we expect 2 days versus the current 4 days required).