Hive-related software updates in past couple of months by BlockTrades team

in HiveDevs2 years ago (edited)

blocktrades update.png

It has been a while since my last post, but that’s just because I’ve been lazy about reporting, not because there’s not a lot going on. As it happens, we’ve added several new programmers to our Hive development team since my last post, so if you look at the hive repo and haf repo, you’ll see several new people there making commits.

Below are a few highlights of the Hive-related programming issues worked on by the BlockTrades team in the past few months.

Hived (blockchain node software)

Since my last post, witnesses have upgraded the Hive network to hardfork 27 (1.27.x) and we’ve made several “point” releases (1.27.1, 1.27.2, 1.27.3 to fix problems, improve usage and maintenance of hived, and improve it’s performance in various ways based on our production testing. You can click on the links for each release to see detailed changes made in each release, but I’ll briefly summarize some of the more important changes at a high-level:

  • Upgraded the secp256k1 encryption library (speeds up blockchain validation time by about 42% as it reduces the time to verify transaction signatures).
  • Various improvements to the command-line hive wallet (this wallet is mostly used by exchanges and “power users”).
  • Added a minimum allowable RC (resource credit) delegation amount to avoid transaction spamming and also improved processing of RC delegations.
  • Improved realism of RC cost calculations for recurrent transfers.
  • New API calls and improvements to other ones to get more statistics and info related to RC usage.
  • Fixed longstanding bugs in market history API calls so that they return correct ticker-related data.
  • Fixed filtering of list_proposal_votes API call.
  • New tool for managing the block log (file containing the history of blockchain transactions). This tool includes features for comparing two block_log files for consistency (to detect corrupted files), truncating blocks from the end of a block log (to remove corrupted blocks from the end of a block_log file if, for example, a copy of a block_log file gets interrupted while it is in the middle of writing a block), and generating a checksum of the uncompressed block_log contents without having to actually decompress the block_log (this allows comparing checksums of two block_log files that were compressed differently without having to decompress the files, avoiding consuming more disk space).
  • Prevent nodes from crashing when they received a get_ops_in_block API call with just one parameter (longstanding bug).
  • Fixed bug in fc::uint128 decimal conversion.
  • New regression tests.
  • Improvements to testing code to make existing tests more stable.

Hive Application Framework (HAF) and related apps

  • Added an applied_hardforks table to the HAF database to simplify tracking of the block when each hardfork became active.
  • Improved performance of hive.get_block_from_views API call and fixed a problem with the returned order of transactions in the block.
  • Many improvements to ease upgrading an existing HAF database to a new version.
  • Various improvements to dockerized HAF configuration.
  • Improved stability of HAF tests.

Hivemind and HAF hivemind

We’ve released new versions of legacy hivemind (v.1.26.3) and HAF-based hivemind(v.1.27.3.0.0) and both are currently deployed on various production API nodes.

Here’s some of the major changes:

  • Many performance optimizations specific to moving from PostgreSQL v10 to v12 or v14.
  • Used data stored in the HAF database itself instead of making some account history calls to hived. This led to a significant performance improvement for the initial “massive sync” process required to initially setup a hivemind server for production usage.
  • Fixed the dockerized setup of HAF hivemind (this got broken in the previous version).
  • Updated deployment documentation for HAF and HAF apps such as HAF-hivemind.

New versioning convention of HAF and HAF apps

This is the first official release of the HAF-based hivemind application (prior ones were "experimental" and mainly only deployed on our node): 1.27.3.0.0

Along with the official release of HAF-based hivemind, the astute reader may notice a change in our versioning for haf-based hivemind: the first three numbers (1.27.3) indicate the minimum version of hived required, the fourth number (0) indicates the associated sub-version of HAF required (i.e. 1.27.3.0), and the fifth number indicates the sub-version of hivemind itself (this is the first release of HAF hivemind for HAF version 1.27.3.0).

HAF block explorer

Work continued on the HAF block explorer and it is near completion now (mainly testing and bug fixes). This work has also led to some of the changes to the data collected by HAF via the sql_serializer so that HAF data is more complete for potential HAF applications.

Some upcoming tasks

  • Continue supporting Hive API node operators and witnesses as they continue upgrading their node infrastructure.
  • Re-use docker images in CI tests when possible to speedup testing time.
  • Continue work on HAF-based block explorer
  • Collect benchmarks for a hafah app operating in “irreversible block mode” and compare to a hafah app operating in “normal” mode (low priority)
  • Finalize plans for changes to hived and HAF in the coming year that the BlockTrades team will be working on.
  • Work out schedule for creation of various HAF-based applications (most important one here will be a HAF-based smart contract processing engine).
Sort:  

I was recently made aware $1,750/daily trade limit is history. Hello, regulators. Does that mean all of my previously assigned addresses are invalid until I submit KYC? Also, in the event someone transfers to a Blocktrades generated address of mine, will the transaction be reversed?

Any transaction to a previously assigned address will be in a "blocked" state until we receive KYC info.

happy to hear that you have been busy ;)

and happy new year by the way!

The most interesting info to me was

Work out schedule for creation of various HAF-based applications (most important one here will be a HAF-based smart contract processing engine).

Can you share a bit more on this (e.g., what apps are generally planned, what's the vision for the smart contract engine?)

It's too early to say much about these apps yet, since the ideas so far are mostly just my own, and I haven't discussed with other developers much yet.

As far as the smart contract engine goes, it's basically just what it sounds like: the ability to run sandboxed smart contracts written in SQL on HAF servers that decide to support the smart contract processor. For example, the smart contract engine would allow the creation of token-management contracts (i.e. ability to create new types of tokens).

All the improvements are welcome and I salute the team working on them, @blocktrades. But there are still simple things that should be fixed. For example:

Treatment of tables is still atrocious in Hive.blog interface. See these pages as comparison:

https://hive.blog/hive-157286/@stayoutoftherz/hivechess-tournament-season-14-round-5-maestroask-is-unstoppable

https://peakd.com/hive-157286/@stayoutoftherz/hivechess-tournament-season-14-round-5-maestroask-is-unstoppable

Will someone ever fix this?

Who needs hive.blog when we have the far superior peakd? If you look on the usage, the trend is clear: more and more people switch to peakd.

You are right @stayoutoftherz, but the team working on peakd.com can abandon project at some time, and we need essential functionality at the basic interface. I would like to see peakd design ideas inside the basic interface.

Fair enough! Although I hope @peakd stays for good.

@lighteye a fixed has been submitted for review:

Screen Shot 2023-01-06 at 2.27.50 pm.jpg

Good news @quochuy, thank you.

Most of the work on condenser is done by @quochuy right now but our team does make changes occasionally.

I've actually tasked one of our devs that we moved to the hive project to review the current state of all the hive "blogging" frontends and propose recommendations for improvements, but it is "early days" for us to see any results from that task.

Who needs hive.blog when we have the far superior peakd? If you look on the usage, the trend is clear: more and more people switch to peakd.

wen next big improvement ? :)

You guys have been very busy and all strength for the new year.

Woah. Sounds like a real busy developing year! Great to see report and Progress. Best wishes for upcoming development and work this year.

Great work happy to hear about latest developments and updates, your development team doing excellent work keep developing and improving, we need to scale hive blockchain which should handle millions of active users
It's not possible until we have a team of developers like @blocktrades have

In these times I am glad that you are adding developers and not shedding them!

Adding developers during a bear market, love it.

Once you finalize plans for the new year, will you be releasing some sort of roadmap?

Yes, we've just started working on our roadmap for this year, but I'll release more details once it's solidified some.

Congratulations @blocktrades! Your post has been a top performer on the Hive blockchain And you have been rewarded with the following badge

Post with the highest payout of the day.

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

Check out our last posts:

Hive Power Up Month Challenge 2022-12 - Winners List
Be ready for the first Hive Power Up Month of the year 2023!
Update For Regular Content Creators - New Yearly Author Badge
The Hive Gamification Proposal Renewal
Support the HiveBuzz project. Vote for our proposal!

Hey Blocktrades! Happy New Year and thanks for all you and your team have done for Hive Blockchain improvements and stability!
I might have some "controversial" opinions about not dev things but I also have to say that is impressive how stable are each HF since 2020 and your dedication to Hive development!
About the future, do you have any plans to implement Coinbase Rosetta API?

It's always been one of those things of the type: if hive will get listed, then we will add it.

But hive is listed on Coinbase, not for trade but is listed, right?

I don't use Coinbase, but I always heard it wasn't listed there. But I'm not sure how you're distinguishing lists from trading. Are you saying they will "custody" hive, but not allow buying/selling of it?

Maybe I'm mistaking concepts, by listed I mean this https://www.coinbase.com/price/hive-blockchain
Anyway, as far as I know we need this https://github.com/coinbase/rosetta-specifications, to Hive be tradable on Coinbase

I used to use your site a lot. Now I never use it since you new ID verify system. I will never hold a ransom note to use your site ! Don't mind giving you an I.D. so please use a different I.D. verifying system

I am excited about the future! Happy New Year to all of you! Wonder what projects will be built with the help of HAF. Would be awesome to see new players entering the field.

Good job. It would be interesting if you published a roadmap, even concise, of the developments you will be working on this year or next. What can we expect for the future on Hive? ☺️

I'll probably post one in a few weeks.

Great, thank you 😍

Sounds like a lot of work. Happy new year btw!

Some general question, what do you think about the possibility of anon transactions on hive? Like anon HBD?

First, would it be technically possible since you work on code almost day and night? :D

I have heard that would be not "possible" on graphene blockchains because of the way they operate.

In a social and finance chain, there should be IMO a way for some privacy depending on money.

What do you think about it in general?

It is possible, AFAIK. BitShares (the first graphene-based blockchain) had a prototype ability for anonymous transactions, but it wasn't used much. Since that time, I think more sophisticated methods have emerged, but it's not an area I've spent much time researching. I'm currently more interested in finding better ways to share information than to hide it.

I'm currently more interested in finding better ways to share information than to hide it.

I think thats more important also to make things more efficent. I think at some point an option would be nice to have for privacy, i think thats the way the mass can feel comfortable with social and finance.

As writers, we are very happy when we see such good developments and efforts to renew itself day by day by the social platform giant Hive. I think that we will come to more beautiful and more permanent places with the fast growing and developing Hive in a big family with your efforts.

Nice article, tnx for sharing it

great work 👍

Glad to see a lot being done even during the bear market. Thanks for your efforts!

Congratulations @blocktrades! Your post has been a top performer on the Hive blockchain And you have been rewarded with the following badge

Post with 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

Check out our last posts:

Our Hive Power Delegations to the December PUM Winners
Feedback from the January Hive Power Up Day
Hive Power Up Month Challenge 2022-12 - Winners List
The Hive Gamification Proposal Renewal
Support the HiveBuzz project. Vote for our proposal!

Thanks to taskmaster for calling my attention to this article.

Thank you @blocktrades for the info.
Barb 😊
!BBH
!CTP
!ALIVE

@adcreatordesign, sorry! You need more $ALIVE to use this command.

The minimum requirement is 1000.0 ALIVE staked.

More $ALIVE is available from Hive-Engine or Tribaldex

I see all this work on HAF for some grand future most of us users cant even really imagine yet ... makes me wonder what you have planned... if there is maybe some cool mew ways to signup or login to hive via a discord or twitter bot for example ...

All of this work you do seems like so much and theres so few people doing it... makes me worried about how i guess centralized?-this whole chains develolment is... ? Could we maybe start an educational program to spread the skill of hive witness to hundreds of new users without stepping on too many toes?(20 toes down lol) i would love to see a syztem where ya know... schools run witness nodes and get some sort of incentive even maybe upvotes... logging in and signing up to custom hive communities for school districts ... even to compete for i dunno... free dau off or go home early one hour points...

Maybe hive could use college emails for a HAF login ... maybe university rmail addresses and university class credit systems can use hive engine or communities and posts etc

Isnt there anyway to simplify the running of hive ? Isnt there a way to simplify the blockchain maybe even like create a hive lite? Some sort of training wheels hive chain fork or side chain maybe using hive engine that would allow us to learn the basics AND devlop hive ...rebuilding from 0 incase of an emergency or god forbid some sort of crypto social media ban where all top 20 withesses are hunted down and fined or areated basidaly coerced into giving up running a hive node

I get this idea that you at blockytrades are doing way too much for how smallnof a group you are. Youre forever under staffed under funded... you should have an office...u hear me @hiveio @hive-io ? If that is youe real username lol u could secretly just be someone famous in the software world

Anyway hey hey hey i ⁶how did 🤪 you end up as blocktrades? You inherited it from steemit? Who are you anyway ? Even to lie saying you are related to @dan larimer or even @ned scott ...that would make some sense lol

I always wondered who the shadowy figure behind blocktrades was and when the whole idea of conveeting hive to btc gets unfairly cracked down on.

Maybe we could one day start using HBD as web 1.0 currency ..

Are you more than 1 person? I hope because theres so much work to be Donegal

Last I saw, I think there were over 100 developers working on hive-related projects, so we're under 20% of the total I guess.

I don't think it is that difficult to run a hive node. Mainly it just requires someone who is familiar with Linux. Admittedly, that excludes a lot of people, but it still leaves a pretty big pool of people.