Weekly update on Hive HF24

in HiveDevs4 years ago (edited)

Below is a partial list of work done by BlockTrades team on Hive last week:

Hivemind fixes and improvements (social layer microservice)

  • Added support for computing hot and trending in hivemind (previously this had to be done by hived)
  • Added support for command-line completion when passing options to start hivemind
  • Fixed bugs related to when posts are deleted
  • Fixed bugs in various database_api and bridge_api responses
  • Fixed a problem computing trending tags
  • Fixed a bug in get_discussions_by_trending2
  • Fixed some date-related problems

Improvements to hivemind testing system:

  • Added the tox virtual environment configuration and testing tool to our automated test system
  • Added the pytest-xdist plugin to enable running our API tests in multithreaded mode for faster test execution and better utilization of the servers in our build-and-test farm.
  • Added options to measure test execution time of APIs for performance tracking.
  • Updated test patterns in cases where the new hivemind has more accurate results than the old hivemind

Hived fixes and improvements (core blockchain code)

  • Added a virtual op called ineffective_delete_comment_operation to report cases when an operation to delete a post was added to the blockchain, but failed to delete the post because there were already comments or votes associated with the post. This information was needed by hivemind to correctly report on posts that weren’t actually deleted.
  • Implemented saving of account_history plugin data to disk for making a snaphsot of the blockchain’s state that can be restored to avoid a replay when setting up a new node
  • Updated hived to allow the major version number to be modified without causing problems during a hardfork
  • Incorporated additional unit tests for @howo’s new code for updating worker proposals
  • Reviewed and tested @howo’s code for converting treasury Hive to HBD.
  • Fixed a problem that caused too early conversion of Hive in the treasury fund to HBD in the treasury fund

Plans for upcoming week

We planned to publish a release candidate for hived today, while we continue to test hivemind, but we recently merged in the code for converting Hive in the treasury fund to HBD after our code review, and we didn’t manage to catch all the bugs during the code review.

We found a problem during replay testing that caused this code to trigger before the hardfork date, but unfortunately this test was time-intensive (it takes 18 hours for a replay), so we were only able to detect and fix it today, and haven't yet had time to fully test the fix yet.

We’ve restarted the replay test with the corrected version of the code, so we are hopeful that we will have a release candidate ready late tomorrow or the day after, assuming the replay test passes now.

We’ve tentatively set the final hardfork date in the code to Sept 8th. Our plan is to let witnesses and apps developers have a week with the final code to look for any problems. If no more problems show up in the coming week, then we’ll notify exchanges to begin upgrading their wallets to the new code. This will give exchanges approximately two weeks to update before the hardfork.

Sort:  

Any plan of maybe set the powerdown from 13 to 4 weeks in this HF :)

No plan, we are "feature complete" for this hf meaning we are not adding anything to it and are in the testing phase before release. This is a change that needs a lot of discussion with the community and one with lots of economical implications and all this is out of the scope of that hard fork.

This is a change that needs a lot of discussion with the community and one with lots of economical implications

But were these issues not all discussed previously in our former reincarnation? There was a lot of support for the 4 week powerdown but it appears that the powers that be have decided against it or are there any plans for discussions to be re-opened?

From what I remember from the past discussions on the subject, there was strong support from both sides, so I assume this will still be a heated debate. And this fork wasn't really about controversial changes, it was mostly about optimizing, fixing bugs and rebranding. basically laying a strong foundation for us to grow on.

The next fork is likely to either be one with lots of economical changes so I would expect such a change to be discussed and perhaps implemented in that one.

Thank you :-) The thing that makes Hive great is that 'the people that matter' are a lot more approachable and transparent than before. Genuinely appreciated.

Yeah I enjoy it a lot as well, info is no longer hidden behind a great wall of "sorry can't say, gotta ask my boss"

Thanks for the reply!

Looks as though its been 'forgotten' about and swept under the carpet.

Sorry, but 4 weeks will never happen. Setting our distinguishing parameters to the same as STEEMs' is beyond stupid. You will never find a majority of big stake on that topic I guarantee it. Maybe we change to 10 weeks or 8 weeks some time in the future, but 4 weeks? Not gonna happen.

I would support a 8 week power down.

But why is it stupid? Is it not stupid to expect people to invest in an ecosystem where they can't trade their investment based on market moves? I think their are fundamental economic issues at stake here. If 'big stake' doesn't want to encourage investment from small fish then the whole eco-system becomes nothing more than a small, but profitable, protected investment club for a very few people.
Anyway. appreciate the reply and I will look forward to further discussion on the topic at a future, and more relevant date.

I understand this concern, but you can already trade your investment based on market moves. Nobody is forcing anybody to power everything up and HODL. If you plan on selling, you just need to plan ahead or always keep a percentage liquid. Powering down is nearly free at the moment. And I still like the idea of a 50% instant powerdown after paying a burning fee of 5% or sending the fee to the DHF.

Maybe 8 weeks powerdown is okay, so you can get out 50% in one month, but that is a discussion for a later date, as you already mentioned.

A big problem with 4 weeks (which was introduced by Sun) is that, if we adopted it, we would recognize and acknowledge that STEEM has something that we want, too. That's a big red flag for me. It basically says their "blockchain protocol" is not that bad so we want to adopt this part for HIVE, when in reality STEEM is nothing more than a centralized spreadsheet that cannot even be called a blockchain anymore.

I'm glad you're still making these corrections. Greetings

Nice improvements to Hive, thanks for the update and keep on going, very appreciated by us the community.

Thank you for the Weekly Update

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 day

You can view your badges on your board And compare to others on 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!

Do not miss the last post from @hivebuzz:

Project Activity Update
The Customization Guide for the HiveBuzz store

Looking forward to the first HF, hopefully this completes the separation from steem and all the associated airdrop problems are resolved.

Can't wait for the updates, would the updates be noticeable in the frontend or mostly in core/backend?

Many of the HF24 changes won't be very noticeable on the front end.

We are generally able to make frontend updates all the time and such changes aren't constrained to be released at hardfork time. Those types of updates are generally reported directly by whichever dev is responsible for a change. I did create a post that summarized some of the recent changes for hive.blog when we updated the site to roll out some of those changes: https://hive.blog/hive-139531/@blocktrades/hive-blog-just-got-updated

Now there are some changes to the backend that were required for new frontend features. One of those is discussed here: https://hive.blog/hive-102930/@blocktrades/hive-improvement-proposal-decentralize-blacklists-on-hive . The goal of this change was to replace the current centralized blacklists and mute lists with opt-in decentralized lists that provide a better balance of security and freedom of choice on the Hive platform.

The new changes should also result in the frontend response times being a bit quicker, because of the increased efficiency of the backend, but this may not be as apparent until we've optimized all parts of the system (it's like the weakest length in a chain theory: you have to optimize all the parts to really get the benefit).

Edit: oh, I just remembered there are some improvements to the proposals page on hive.blog that are waiting some of the HF24 changes, so that's another frontend improvement that should be rolled out shortly after HF24. This will include displaying more information about proposals and also allowing for some forms of editing of the proposal (e.g. ability to lower requested funding).

That's quite exciting to know. Honestly, most normal users don't care much of how it works underneath as long as everythings seems OK on the surface, but I do appreciate improvements a lot.

UI/UX can be subjective, but better backend gains more trust to the software. :)

Excellent my friends 🙏

Very nice and substantial work!

Thanks to you and your team for all your work and what you do for the community, I would also like the team to explain some technical concepts so that other users who do not have much experience with these technologies can also know how these changes benefit them.

I made a small translation of this post to Spanish here so that more users of this community will not be caught by surprise by this hardfork

https://peakd.com/hive-133872/@flaws/actualizacion-semanal-de-hive-hf24

Very nice job, thanks a lot

great job!

Great post and information. It's always assuring to see one of the blockchains top witness's actively working to make corrections and improve what we already have.

Wow! How important is your contribution to our social network. I had no idea about it in such detail. Thank you very much for the great role you play. Greetings!

Been off the blockchain for a while, that was a little like reading a foreign language lol! BUt thanks for all you and the rest of done. Now that I want to blog again, it is nice to have this platform. That other one, I cannot even figure out how to use any more. And it is sort of comforting to know you are so deeply invovled in the back side of this, I always appreciated your efforts.

Oh 8 September. Glad to hear a date.
Rehived.

#Reblog
Great and informative post. Our hive day by day increased for you guys.

This is purrrttty cool.

I am not sure if it is related to the work you guys are doing or not, but the platform usability and performance as a whole has been really poor these past two weeks. The ability to use the blockchain goes in and out and any time you perform activity on the blockchain you often have to do the same thing multiple times before it actually goes through. this goes for posting, leaving a comment, voting etc etc etc. Not sure if you guys are aware or not, so just thought I'd mention it.

I haven't seen it myself and it hasn't been mentioned to me. There was a glitch with inet connectivity to the image server for about 10 minutes or so a couple of days ago, but that's all I'm aware of. What web site are you using and what api server is it configured to use?

I'm using hive.blog. How do I tell what api server it is using?

The API server setting is buried under the Advanced setting of your settings under your profile page. But if you haven't set it, it should be default to https://api.hive.blog and falling back to https://anyx.io if it has any problems. We haven't had any issues reported with api.hive.blog recently. There was a certificate issue that affected https://anyx.io recently, I've been told.

If you're experiencing this problem currently, you can go to the advanced section and try changing your api server. But I asked around, and no one else has reported a similar problem.

I will give those a try. Thanks for your help!

As a follow up FYI, I switched to the anyx.io api server from the api.hive.blog default and things have been working much much better. Just a heads up.

It's possible you are geographically closer to anyx's node. On the BitShares network, the API nodes would actually advertise their location, so people could connect up to their nearest node. Eventually we'll probably build in code to detect which node has the least latency for the given user.

What RPC node are you using?

If you have issues, always try changing nodes in Hive Keychain and Peakd.com settings (if you are using Peakd).

I know Anyx had a hiccup yesterday and I changed nodes and everything was fine immediately.

I mostly use hive.blog, but not sure how to see what node it is using? I have also had issues with keychain though as well.

You cannot choose nodes on Hive.blog, but this is on the list of things to add in the future.

I do highly recommend peakd, it is better in every way and allows you to change nodes as needed. Even if you only use it when you have problems with Hive.blog, I think you will have a better experience.

I am not sure what node Hive.blog uses, I believe it swaps off a couple of nodes, Anyx being one of them and could explain your issue (yesterday only as I haven't seen any problems prior, but I don't use the default Hive node).

You can set your API node now. It's a setting under your profile/settings/advanced.

Nice!
I looked real quick but didn't see it but I got confused by the icon, it seems backwards.

This to me shows advanced settings are not collapsed, but in fact it is.

This arrow should be reversed as I would never have known there were more settings if you didn't mention it. Looked like the muted users were the advanced settings.

Actually, that's been bugging me too. I've passed on your feedback.

Ok will give that a try, thanks for the tips. I have also had problems using keychain while playing Dcity as well... specifically getting transactions to process. I often have to refresh it a couple times to get it to work and/or I get an error message...

Lol as a perfect example, here's what I just got when trying to reply to your comment:

image.png

It doesn't always say "network request failure" though, sometimes it just spins and spins forever and I end up refreshing a couple times.

I had a problem with dcity yesterday, I switched nodes in Keychain and it worked perfectly. I would recommend setting the default node in keychain to Anyx.io, 99% of the time it's solid. Switch it whenever you run into a problem and this should go away.

Will do, thanks for the help!

One other thing I noticed is that the participation rate is 99.21% right now, so there must be a witness missing blocks. That could result in a delay, if your action was done around the time of the missed block.

Try https://ecency.com, similar but faster and lighter experience, it also saves you data bandwidth.

@blocktrades, Team, keep Updating and Upgrading core of this Blockchain and make this space more Powerful and Flexible.

Good wishes from my side and stay blessed always.