Posts

5th updates blocktrades work on hive software, 2022

avatar of @cekguryan
25
@cekguryan
·
0 views
·
3 min read

#fivedays

This 5th update of 2022 on blocktrades work on hive software by



Hived (blockchain node software) work


  • Optimization of resources credit (RC) calculations Change were made and tested to add extra cost of custom operation that are used for RC delegations ( while these aren't strictly consensus they do impose more cost on a hived than others custom operations)

  • Testing and fixing bugs in a new wallet Found and fixed some more bugs in wallet. I think this task will be closed out soon.

Hive Application Framework (HAF)


  • Filtering of operations using regexes to allow for “small” HAF servers I believe the code for using regexes to filter operations is complete or nearly so, and tests are now being developed for it, but I forgot to get an update today on the status of this work, so I’ll update on this point tomorrow.

  • Benchmarking of alternative file systems for HAF-based We’ve continued to benchmark HAF running in various hardware and software configurations to figure out optimal configurations for HAF servers in terms of performance and cost effectiveness. Among other things, we discovered that the location of PostgreSQL write-ahead logs (by default written to /var/lib/postgresql) can have a significant impact on the time it takes to reindex a HAF database (note that this is separately specified from the location of the HAF database itself).

HAF account history app (aka hafah)


We implemented and tested the changes I mentioned last week to create a new index in the HAF database to speedup get_account_history calls (and probably other similar future calls as well that may be needed by other HAF apps). We’re now looking to see if we can speed up the performance of the next biggest bottleneck API call (get_ops_in_block), but performance of this call is already acceptable if we can’t further speed it up. In order to speed up our optimization work, we also made a higher-level script to eliminate some of the manual steps that were previously required to perform a benchmark of HAfAH and get useful analytical data from the benchmark (this will probably be committed tomorrow). This script may serve as a useful starting point for other HAF apps looking to benchmark the performance of the app's API calls.

Hivemind (social media middleware server used by web sites)


We continued to work on conversion of Hivemind to a HAF-based app with a slight detour: currently the code is being reviewed for possible improvements in coding style to meet best practices for Python. We also updated the ujson package used by Hivemind because of security concerns about an older version of the package. And finally we merged in an old optimization we made to processing of custom_json operations.

HAF-based block explorer


We're in the early stages of developing a HAF-based block explorer (open-source, of course). Two of our newer developers are getting introduced to the associated concepts and also reviewing HAF documentation as part of this work.

Condenser (source code hive.blog and several other Hive-based web sites)


We’ve also been reviewing and merging in updates from @quochuy for condenser and we have a few more to merge in during the coming days (some fixes for Hive Authenticate and improvements to deter phishing attempts).