BlockTrades 2022 Update work on Hive software
Update on Hive-related programming issues worked on by the BlockTrades team during the past two weeks.
The HAF account history app (aka hafah)
Now briefly deployed hafah (the HAF-based account history app) to our production node as a replacement for our hived-based account history node, but we discovered that many apps are still using the legacy “condenser_api” form of the account history calls (which hafah didn’t support). This left us with two options: get apps to move from the legacy condenser_api calls to the account_history_api calls or implement support for the legacy calls inside hafah itself.
After carefully considering both options, it seemed best to add support for the legacy calls inside hafah. This was relatively quick to do, it didn’t require coordination with other dev teams, and HAF may lead to a new programming paradigm that will deprecate the use of both the old and the new account_history_api calls (so no point in forcing Hive apps to upgrade once, then shortly thereafter change again).
We’re still working on an alternate version of hafah that uses postgREST as the api server instead of the python-based one. Benchmarks of hived account history plugin vs python-based hafah led me to believe that the python server was impacting the potential performance of the very fast api calls such as find_transaction (hived was actually performing better than hafah for these very fast calls). The results from the postgresT server seem to confirm this issue we’re seeing about 4x better peformance with postgresT vs the python server on those calls (4.8ms vs 22ms).
So I think it is very likely that we will switch to using postgresT unless we find some compelling reason to stay with the python implementation for hafah. If do make this switch, we'll likely modify the HAF setup scripts to optionally install a postgREST server if this becomes the default recommended server for HAF apps.