BlockTrades progress update (two days to hardfork 24)

in HiveDevs4 years ago

During the last week we saw Hive apps developers become very engaged in testing and error reporting. BlockTrades team has been very busy addressing problems that were found and we’ve also took on the role of testing and fixing condenser and condenser’s wallet (open source code used by hive.blog, etc).

Hived progress (blockchain node software)

On Friday, our testing of condenser against our Eclipse node exposed that the data reported by the Eclipse API server (https://beta.openhive.network) wasn’t as current as the data on our production API server (https://api.hive.blog). After some investigation, we found that this was because Eclipse hivemind is fed blockchain data from a hived node configured with the rocksdb-based account history plugin which only reported data from irreversible blocks, whereas our production system gets blockchain data from a hived node configured as a “fat node” which provides operations up to the blockchain’s current head block.

In eclipse-based API servers, fat nodes were eliminated to save resources. In pre-eclipse nodes, an API server was generally configured with two hived nodes: fat node + account history node. But this dual-node requirement consumed a lot of extra RAM and other resources.

To avoid going back to a two-node solution, we added a new flag include_reversible to the API so that the rocksdb account history plugin can report reversible operations when API calls are made to it. This change is only needed by API server nodes and it is a non-consensus change, so it doesn’t require API server nodes to replay or load a new snapshot (it doesn’t change the blockchain state). The related changes are here:
https://gitlab.syncad.com/hive/hive/-/merge_requests/120
https://gitlab.syncad.com/hive/hive/-/merge_requests/123

While making the above change, we discovered that some change to beem was resulting in unexpected CI test failures. The changes below were made to fix the installation of beem on our CI system:
https://gitlab.syncad.com/hive/hive/-/merge_requests/121
https://gitlab.syncad.com/hive/hive/-/merge_requests/122

@timcliff also reported a long-standing bug with using websockets with the cli_wallet that we found was caused by a long-ago update (0.22 I think) to the websocketpp library, so we cherrypicked a patch to that:
https://gitlab.syncad.com/hive/hive/-/merge_requests/119

Status: at this time there are no known issues with hived, although we encourage active testing of the new include_reversible operations feature by witnesses and devs.

Hivemind progress (2nd layer social media microservice)

Use the new include_reversible flag when calling enum_virtual_ops on hived to get recent blockchain operations from the hived node:
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/279

Added pre-appbase api support for some condenser api methods (this functionality will likely be deprecated, but included now to support temporary backward compatibility for Hive apps):
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/244

Added missing fields from get_content call:
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/254
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/257

Unread notifications call (bridge.unread_notifications) was too slow. Originally it was taking 11.8s, now it is down to 3.7s. This is still much slower than we would like, so further improvements are planned.
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/235
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/238
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/269

Miscellaneous performance improvements:
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/232
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/234
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/236
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/243
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/253
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/266
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/268
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/267
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/265
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/251

Miscellaneous bug fixes:
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/242
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/250
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/252
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/247
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/262
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/264
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/270
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/277
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/278
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/273

Updates to hivemind docs, especially build instructions:
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/255
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/256 (@drakos)
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/263

Condenser + web wallet progress (open source code for hive.blog and similar sites)

We’ve been updating condenser for Eclipse and also using it to test for differences between Eclipse and pre-Eclipse nodes. This was how we found the issue with the rocksdb account history node only reporting operations up to the last irreversible block. Below are fixes we’ve made to condenser as we’ve been testing (other social frontends may want to look over these issues to see if they could impact their own frontend):
https://gitlab.syncad.com/hive/condenser/-/merge_requests/107
https://gitlab.syncad.com/hive/condenser/-/merge_requests/116
https://gitlab.syncad.com/hive/wallet/-/merge_requests/33
https://gitlab.syncad.com/hive/wallet/-/merge_requests/34
https://gitlab.syncad.com/hive/wallet/-/merge_requests/35
https://gitlab.syncad.com/hive/wallet/-/merge_requests/36

Devops update (assisting other API node operators)

We’re in the process now of updating beta.openhive.network with the latest changes above. It should be updated in the next hour or so.

We’ve prepared a snapshot of hived with changes required for v1.24.3 (version with json_metadata) and this snapshot is also needed for the current head of master (which has the irreversible_operations support as well as the json_metadata). With this snapshot, hived’s can be updated to the latest version needed for API nodes in about 15 minutes.

We’ll also be creating a hivemind dump tomorrow, to enable other API nodes to update faster.

What’s next?

The witnesses are planning to execute the hardfork on Oct 14th . This means we’re going to be extremely busy tomorrow doing last minute testing, etc. And despite all the apps testing that’s been done in the last week, I expect we’ll be spending the rest of the upcoming week after the hardfork working with apps developers to fix any remaining problems that get uncovered and working on further speedups to slower operations such as bridge.unread_notifications.

After we’ve finished the cleanup work, we’ll be starting to collect a set of features for the next hardfork. I’ve already thrown out some of my preliminary ideas for work to be done (mostly existing ideas that have been tossed around in onchain posts for a while by different people) in the last developer online meetup, but I’m planning a post late in the week to begin formal discussions on the proposed changes for the next hardfork (assuming I’m not buried in cleanup work still).

Sort:  

Really appreciate all the work!

For these hardfork announcmements, do you think we could get something going where the top 20 sign these messages? Could just be comments on the post saying that "I approve this message" or whatever

Now that we don't have a corporate overlord, we're taking it on faith that @blocktrades and @hiveio have met with witnesses and are accurately conveying the details of that meeting. It isn't a terrible system, and I think signaling a version is supposed to be the manner of showing support for a fork, but a signed communication on chain would be preferable

Each witness could post on their own, but as long as one or 2 accounts is making the announcement for all top 20 witnesses, it'd be cool to have them sign it

Good work on stomping out bugs and getting things figured out. Lots of codebase with any somewhat complicated application and lots of things to consider when doing upgrades like this. Sounds like things are being taken care of though.

Thanks. That is a basic shit ton of work to do and I appreciate it.

I hope it all goes well and look forward to the discussions for the next fork.

Happy and smooth hardfork!

Looking forward to the discussion for the next.

Keep up the good work. here's hoping that the fork is smooth and every dev gets to sleep soundly on the 14th. If they so choose lol

Congratulations @blocktrades! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

Your post got the highest payout of the week

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Thanks for the work!
I'm excited to see what can be done on the next HF!

Thanks! Keep up the good work.

Is there a plan out for Hive for the next 24 months?

Thanks for the information. We hope that on the 14th everything goes well.

Cheers for putting in the grind! I can only imagine how much work it is - complex code and then the communication!

Do try and get some sleep over the next couple of days!

Posted using Dapplr

hope it will work in perfect condition base on updates

Hopefully the switch over will go smooth for everyone, I am sure there will be a few issues, seems to always be a few. S week for the fork to settle in and then I think it would be a good time to start getting peoples wants and desires for the next fork. My personal preference of course is to continue with the stabilization of the foundation, so Governance and Witness retention is what I strongly favor over any changes to the reward/financial aspects of Hive, I think that can wait on the one year anniversary HF, lets get things stable then play with the reward/financial aspects.

Looking forward to the fork and hope to see all on Thursday.

Honestly, I don't really understand it well but I'm sure that you are doing your best to improve the platform, and perhaps ordinary users like me will also be benefited from all the efforts that you and your team have done, so I'm looking forward to the hardfork and for its possible positive effect to everyone as a whole.

More power and God bless!

Greetings, again I thank you for all the work you do to make Hive work perfectly. On the other hand, I did not know that you had an independent website where you can invest money and delegate hive. IM interested in that. I also thank you for your support in my Post's, I hope you continue to support me. Thank you again @blocktrades

@blocktrades,
Last week I tested my scripts for HF24 and all passed. Thank you for the update & hope tomorrow (14/10/2020) will become a good day for all of us!
!tan

@theguruasia ~


Congratulations, @asimo You Successfully Trended The Post Shared By @blocktrades.
You Utilized 1/3 Daily Summon Bot Calls.

TAN Current Market Price : 0.200 HIVE

Can anyone tell me if there will be any front end changes or is this hardfork all back end stuff?

Anyway good job guys

I hope this hardfork will be smooth as you have done lot of hard work. I shall wait for your post about next hardfork.

Thanks for all the work!
My DApps hive-now.com and hiveblockexplorer.com are now all set for the Ecplipse hard fork.

I'm still seeing one issue, transaction urls don't seem to be working. Maybe this is fixed for 1.24, but doesn't work for 0.23? For example: https://hiveblockexplorer.com/tx/c7687cda6b23e7c6b263ebaf54f08642b01be951

The transaction URLs are working properly on my end, but I have noticed that new transactions are not loading if the transaction is less than 1 minute old. The url works properly after 1 minute.

I will add a message for new transactions for clarity.

Hope the hardfork goes smoothly. Looks like the witnesses and developers are working hard. We have to keep progressing and improving to boost confidence in Hive.

Hive five!

Very hard to follow all this all very technical on my part but let's hope it's a happy and smooth run for the new hardfork 🙏

Solo agradecerles por su trabajo y esfuerzo en beneficio de todos. Gracias.

Just thank them for their work and effort for the benefit of all. Thank you.

Thanks for the update, always really clear!

Secure all animals in the petting zoo.

I hope everything goes smoothly 😎

Hope everything goes well tomorrow and thanks for all the hard work and effort gone in to this HF to all involved!

Can’t wait for HF24

I like this info. Thnks x share!

Wonderful.
It appears the kneecappening is finally losing it's effect.
On development, anyways,...
Thanks for the work.

I am waiting for the good news after October 14, 2020. I hope the hard work of the team can provide maximum results for all of us. Keep the spirit of @blocktrades and the whole team. Take care of health @blocktrades.

It is good that they keep the community informed, I really feel very comfortable within the blockchain of hive, I hope that every day we improve as a community and obviously that technologically. Congratulations for the great job you have been doing. Greetings.

Gracias por compartir con nosotros estas actualizaciones, todo estará perfecto pronto, y valoro el gran trabajo que están haciendo. Éxito para este proceso, seguiremos creciendo. 😘

Thanks for the hard work.

Felicitaciones por el excelente trabajo que realizan en beneficio de HIve y de todos nosotros.
Mientras muchos descansamos, Uds. crean. aliriera

Hope everything goes as smoothly as possible. I'm excited already to see what will happen in the next one once these fundamental changes are put in place.


Congratulations @blocktrades, You Earned 0.555 TAN & Curators Made 0.555 TAN.

upme.link


Join CORE / VAULT Token Discord Channel or Join UPMELINK Web Site
TAN Current Market Price : 0.200 HIVE

Good work on stomping out bugs and getting things figured out. Lots of codebase with any somewhat complicated application and lots of things to consider when doing upgrades like this. Sounds like things are being taken care of though.

Goodnight. I am writing to you from Venezuela, to express my congratulations for the work you do for the benefit of the families that share with the successful social network Hive. Congratulations. Successes.