Eclipse Hardfork progress (HF date set to Sep 22nd)

in HiveDevs4 years ago

Below is a summary of HF24 work by BlockTrades team in the past week:

Hived work

The witnesses have continued to create testnets to test hived. No major issues were discovered so far. There’s still one big test to be completed, which is to operate a testnet where transactions are injected from the mainnet using tinman.

Some minor issues were discovered and/or fixed:

@howo fixed the uint32 overflow problem that caused a minor progress reporting problem during sync: https://gitlab.syncad.com/hive/hive/-/merge_requests/108

Also, @gtg identified a post-HF problem: nodes with a different chainid will reject connections from a node reporting a different chainid, and this would cause problems for unsynced Eclipse nodes connecting up to the network after the HF, where the chainid has changed on synced eclipse nodes. There’s two fairly simple solutions to this issue:

  1. the simplest, would be to create a new version of Eclipse for syncing up post-HF that contains the new chainid.
  2. alternatively, we can add a command-line option and/or environment variable that allows the node’s chainid to be specified at startup. In this case, eclipse nodes connected before the HF time would use the old default chain id, and swap to the chainid at HF time, and eclipse nodes connected after the HF time would be launched with new chain id.

It’s still under discussion, but I think we’ll probably employ both solutions. We’ll add a command-line option for specifying the chainid, since this can also be useful for specifying multiple testnets with different chainids in such a way that a node doesn’t need to worry about accidentally connecting to the wrong testnet. And we’ll also produce a new version (e.g. 1.24.1) after the HF, that defaults to the new chainid, so that node operators won’t need to continue specifying the new chainid on the command line in order to connect up to the mainnet.

Hivemind work

Most of our work last week continued to focus on hivemind.

We implemented reputation calculation in hivemind last week, but we consider the current implementation to be too slow during the initial hivemind sync process, so we’re still looking into ways to speed up the calculation.

Another big task currently underway is a new notification algorithm (i.e. notifications about when an account receives a vote, rehive, or mention). The old notification algorithm was broken during the switch to the Eclipse version of hivemind and during investigation we found that the old version seemed to use excessive storage space, so we’re trying a new algorithm that generates notification information on demand instead of constantly updating it for all accounts.

We completed a second “full sync” of hivemind today (these tests take 4 days to complete) and found another problem in the post-sync fixup of the database, which we’re fixing now.

Finally, we continue to optimize the code, create more API tests for hivemind, and fix small discrepancies between the old version of hivemind and the Eclipse version as we find them:
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/108
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/109
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/111
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/112
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/113
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/103
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/110
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/116
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/120
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/124
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/126

The hivemind tests themselves are being updated here, but I've omitted the full list of changes for brevity:
https://gitlab.syncad.com/hive/tests_api/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged

Hardfork release date and plans for upcoming week

While hived seems quite stable, we’re still working on hivemind, so we’re not yet able to provide a full API node that apps developers can use to test against. I think that we need to give apps developers at least a full week to test against an Eclipse API node, so we’re setting the hardfork date to 22nd, as we don’t think we’ll have a full API node (i.e. hived + hivemind) ready until at least next week.

We’ll likely be tagging an official 1.24.0 release of hived either tomorrow or the day after with the updated hardfork date, assuming the code for setting the chainid at startup works as expected. Witnesses and exchanges will be able to deploy this upcoming version on the mainnet, although full API nodes will still need to use the current release version of hived until the Eclipse version of hivemind is ready.

Although we are setting the hardfork date to the 22nd in hived 1.24.0, it’s still possible that the date may need to change again, if hivemind work isn’t completed next week. In such case, we would tag a new version of hived with the updated hardfork date. But this should not pose any major inconvenience to witnesses or exchanges who’ve already updated to hived 1.24.0 if it happens, since no blockchain replay would be required.

Sort:  

Thanks for all of the hard(fork) work Blocktrades and the team. Much thanks to you, Howo, and Gandalf.... and all of the other people and teams responsible for making HIVE possible for all of us users. It's much appreciated and for the ignorant folks such as myself, i don't think many users realize all the time, energy, money, and hard work that goes into making this blockchain experience possible!

Really nicely written update for the Hard Fork progress and plans... we and our users appreciate it.

"Eclipse" ... well-played for HF24 ... well-played...

To start not a dev or app builder, just a Hive user.

The choice for the notifications fix seems reasonable to me. I look at my notifications all the time, my wife does not so the on demand option seems reasonable. I use peakd for my notifications, my wife use what ever version of the hiveworld is working at the time to see notification type actions on her account.

Thank you for the update!

Thank you for your hard work.

Super happy with the progress

Thanks for the update - wishing everyone working on a brand new HF of Hive a lot of coding inspiration and special glasses for efficient and thorough bug-detection!

Thanks for the update and work put behind this. On to the next chapter!

You postponed to include the proposal of @deathwing and my add-on as a comment to his post (a joke but I'm curious to know your point of view on my add-on and I hope that the topic will be discussed during the preparation of the next hardfork).

More seriously, the command line option is a good solution in case you don't use both solutions.

Question time:

  • What is the best way to communicate on the day of the HF24? Discord? But on which server, I didn't see anyone talking about HF24 on HiveDevs, or maybe openhive.chat but I only saw @gtg on it. Something else?

  • Is everything on developers.hive.io still valid or are parts of it outdated due to the implementation of HF24? In the last case, who is in charge of updating the information and when will it be done?

That's it for now 😁 Thank you for your time.


Witness FR - Gen X - Geek 🤓 Gamer 🎮 traveler ⛩️
Don't miss the Hive Power UP Day! more info here

Openhive.chat is probably a good option. I'll discuss with @gtg and see if we can get all the witnesses there at least.

I haven't checked recently, but I would guess that most info on developers.hive.io is still valid. I don't know if it's been updated with latest command-line options, though. @inertia is the one maintaining those pages.

Ok thanks 👍

Should have set it for the 24 so that hf24 releases on the 24th.

I considered it, but that's a US holiday.

Appreciate the update. Keep up the good job

Excellent progress report and looking forward to Sep. 22. Wishing continued success!

So, the tentative date for the HF remains 22nd of this month. Thanks for this information. Like what period of time should we be expecting for the chain to stabilize after the HF?

Ideally, we don't expect any real stabilization period being required. The only potential issue I can think of is chainid change, but we haven't seen any issues associated with that during testnet testing.

Interesting. I asked because of the issues we've faced with previous HFs on the former chain. It will be a cool experience not have any issues. Kudos to the team!

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

You distributed more than 60000 upvotes. Your next target is to reach 61000 upvotes.

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

Do not miss the last post from @hivebuzz:

HiveBuzz supports meetups of the Hive UK Community

I hope that once this hardfork is over, everything regarding past tech and Stinc work will be over. We need to move faster.

This hardfork has required us to create an entire test suite for Hive that just didn't exist before. We also had to create the associated CI system (automated build and test system). Having that work done, future work will go much faster.

Yeah, I did notice that, it's impressive.

Btw, I just found a bug writing this comment. I was replying to your comment, then I clicked on "view the direct parent", and the text box containing my reply moved to become a reply to the "parent" comment (mine not yours).

I don't know if it's a hivemind bug or just UI for condenser, but I thought it would be good to let you know.

Pretty sure that's a condenser bug.

I am looking forward to see the changes in notifications

Thank you for all these updates, I appreciate your effort.

You guys are so awesome! T_T

Hey @blocktrades, this is unrelated but wasn't sure where to post this. I noticed a bug when having the 100% power up option selected for comments where it won't let you edit a comment. Anytime I have the 100% power up option selected and go to edit a comment, I get this error message:

image.png

It says: "Transaction broadcast error: A comment cannot accept a greater percent HBD."

I think there's an active issue for this. A couple of the condenser devs (not BT devs) have been discussing how to fix this and related problems.

Also, to spread awareness, here's where to look for and report hive.blog problems: https://gitlab.syncad.com/hive/condenser/-/issues

lookin' good!

By the way what do you think of a "like" button for Hive?

https://peakd.com/hive-102930/@tobetada/introducing-a-like-button-to-hive

I agree that there should be ways to approve of a post beyond voting post rewards to it. There's many ways to do this, and I plan on focusing on options for that after the hardfork.

@blocktrades You are doing a wonderful job! Best wishes 👍

Sounds cool, I can’t wait to use it and see what it does! Thanks for doing all this great work on the blockchain though!

Hi @blocktrades. I am new in hive and i am interested to know which are the Main reasons to execute the HF24 in hive? Thanks for your answer from now!

Posted using Dapplr

Greetings @blocktrades, this is really embarrassing for me. For a mana manipulation of my PC, my little dija oppressed to stop following them. I already solved it my apologies I hope your understanding.

@blocktrades, Hope that Big Test will succeed and everything will be processed effectively.

Good to see that Team Work and Synergy is going on in the Hive Developers Community.

In my opinion this Ecosystem is all about the Solution Oriented Journey.

Good wishes from my side team.

Have a productive time ahead and stay blessed.