Updated on BlockTrades Hive work (as of Dec 9th 2020)

in HiveDevs3 years ago (edited)

I decided to skip last week’s progress report, since I wanted to keep the focus on our roadmap post. In the meantime, we’ve continued to make good progress over past two weeks. Below is a summary of the work done over this period:

Hived work (blockchain node software)

As mentioned previously, we’re currently creating a hived plugin that can directly write the needed data into hivemind’s database during hive reindexing and normal block reception. Most of the data being provided by get_block_api is of no interest to hivemind, so using this API to get the data is unnecessarily wasting cpu, in addition to slowing down hivemind. I expect that using the plugin approach will lead to significant speedup in the initial sync time for hivemind (my guess now is 2x at least) and it should also reduce normal hivemind live-sync write time. Work is ongoing here:
https://gitlab.syncad.com/hive/hive/-/commits/km_live_postgres_dump/

We made a change to hived so that proposals aren’t automatically removed after they expire:
https://gitlab.syncad.com/hive/hive/-/merge_requests/154
This allows the API to report on proposals after they have ended.

We used memory-mapped IO to speed up rebuild of the block_log.index file from the block log. It’s now over 3x faster on a fast nvme drive (and the speedup is even better on a magnetic drive).
https://gitlab.syncad.com/hive/hive/-/merge_requests/156

Hivemind (2nd layer microservice for social media applications)

Most of our Hive devs continued to working on hivemind last week. Below are some of the merge requests incorporated into the develop branch of the hivemind repo:

various bug fixes and optimization work:
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/410
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/405
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/413
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/416
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/400
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/418
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/424
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/426
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/411
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/428

enable decentralized muting:
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/407
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/421
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/422

new tests:
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/415

test system improvement:
https://gitlab.syncad.com/hive/hivemind/-/merge_requests/380

We also ran a full sync test on hivemind (4 day long test currently), which allowed us to catch and fix a few more bugs.

We are currently during real-world testing the head of develop branch on api.hive.blog.

Support for decentralized lists/muting in condenser (https://hive.blog)

We made several fixes and improvements to the UI based on feedback from beta-testers:
https://gitlab.syncad.com/hive/condenser/-/merge_requests/165
https://gitlab.syncad.com/hive/condenser/-/merge_requests/166

What’s the plan for next week?

  • Finish hivemind and condenser decentralized list changes (likely done tomorrow)
  • Continue creating hivemind tests (long term task).
  • Automate running of hived/hivemind full sync tests and run it once a week.
  • Continue work on speedup of hivemind full sync via hived plugin as the slow sync time has a big impact on the speed of hivemind CI (which sets an upper limit on how fast we can validate changes).
  • As a stopgap to the above, we’re also trying to speedup the current full sync code by making more concurrent API calls to hived from hive sync (we’ll probably be able to get a 2x speedup this way, in other words, bringing the full sync time down to 2 days on a server with sufficient cores to handle the additional hived load).
  • Make an official hivemind release to master branch and create a hivemind snapshot so that API node operators can update their nodes quickly. After all API nodes have updated, we can deploy the new changes to condenser for decentralized lists and decentralized muting.
Sort:  

This is super important work.
Can't thank you guys enough for it.

As a small dev team working here what you are doing is amazing.

I suspect we've actually got one of the largest development teams in crypto.

How many devs is that?
In your last comment to me you implied at least 14.
Pretty impressive.

We've got 35 programmers/devops people at BlockTrades (well, technically they work at other associated companies I'm involved with, since BlockTrades doesn't directly employ anyone), and 14 are currently working on Hive (one or two of them, like me, also work some on other projects we have, but most are full time or more just on Hive).

We're continuing to staff up, and we have two more programmers joining our team early next year, but I'm not sure which project they'll join yet.

Oh, it's also worth mentioning that I plan to fold some of the technology experience we gain on those other projects into our work on Hive. In particular, I view one project as partially research for later Hive work.

I think, what's on the hive platform, is more than enough. here has many dapps, has many developers, has lots of great features. only one problem remains. ie at a hive price that lasts a long time at a very low price. hive price is not worth the sophistication it has. in my opinion this is what must be fixed.

Price is not something that might be "fixed". It will grow naturally while the platform will get better quality and more recognition.

saya fikir harga adalah faktor yang sangat penting di platform. pada kenyataan sekarang, sebagian besar orang menilai Bagus dan jeleknya sebuah platform, itu tergantung pada harga. buktinya banyak yang berhenti aktif dan mematikan kekuatan di akibatkan karena harga yang bertahan rendah. saya fikir masalah harga dapat di perbaiki oleh pemangku tinggi disini.

saya setuju, bahwa harga dapat meningkat secara alami dengan seiring berjalannya waktu. namun kita sekarang memiliki saingan yaitu steem dan blurt. jika mereka terus berada di atas, maka para investor akan memilih mereka.

‌untuk kualitas, kita sudah memilikinya. kita berada di atas di antara yang lain. apakah kecanggihan yang ada di platform sekarang tidak cukup? semuanya sudah luar biasa. kita memiliki banyak pengembang, dapps, dan fitur-fitur hebat lainnya. saya fikir masalah yang harus di atasi saat ini adalah pada harga.

You are expecting too much from crypto markets

$tangent


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

TAN Current Market Price : 3.990 HIVE

Thank you very much ! Amazing work <3

Hell yeah guys. Keep at it. Doing some great stuff here. Fixing lots of lazy larimer code by the sounds of it.

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 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!

Do not miss the last post from @hivebuzz:

The Hive Gamification Proposal #2


Congratulations @blocktrades, You Earned 0.496 TAN & Curators Made 0.347 TAN.

tangent.token


Join CORE / VAULT Token Discord Channel or Trade TANGENT Token
TAN Current Market Price : 2.500 HIVE

Felicidades por este gran trabajo, de alguna manera todos estos cambios y correcciones son positivos. Que bueno fue leer esta información sobre algunas actualizaciones. Saludos 😘

Congratulations @blocktrades! You received a personal badge!

It's great to see you are attending HiveFest⁵ in Altspace VR.

Have fun!

You can view your badges on your board and compare yourself to others in the Ranking

Do not miss the last post from @hivebuzz:

It's today! Do not miss the opening of HiveFest⁵

Congratulations @blocktrades! You received a personal badge!

Thank you for your participation in the HiveFest Meetings Contests

You can view your badges on your board and compare yourself to others in the Ranking

Do not miss the last post from @hivebuzz:

It's today! Do not miss the opening of HiveFest⁵

It seems there is one huge vulnerability (not direct, but indirect) that could cause us a lot of harm if it were to be exploited, and I'm wondering if that is one of your highest priorities. I'm referring to second layer centralization and lack of transparency. We're seeing more and more talk about this every day, and I wonder what the hackers are making of it (there's some pretty big money involved). When going over the long list of HIVE successes, and relishing the incredible HiveFest just celebrated, it would be horrible if we were to experience a public relations debacle due to this huge vulnerability going unaddressed. A high priority response doesn't necessarily have to be immediate coding, even if it is ultimately the necessary end-all; it could be something as simple as 'getting started', maybe with an awareness campaign, which could also motivate the 2nd layer devs to get on the ball as well (warning banners, for example). Anyhow, I know you're aware of this, but since it's pretty major, it's a concern I wanted to be sure to share with you in any event, you know, just in case, and FWIW. ;-) Below just couple of recent posts:
https://hive.blog/hive-167922/@themarkymark/is-hive-engine-a-blockchain
https://hive.blog/hive-167922/@edicted/why-was-leofinance-down-for-so-long-miner-attack-vector

2nd layer services can be just as decentralized and trustless as first level services. Pretty much everything @yabapmatt said on marky's post is true, and the main issue is ensuring that there's some kind of incentive system to make sure that people have a good reason to operate 2nd layer API nodes. This is definitely something that's being factored into our design.

Thanks for getting back to me on this. I hadn't seen his second reply. Looks like we just need more 2nd layer nodes, like you say. Something easily dealt with by creating incentives. Glad to know it's being factored in! Thanks again, and thanks for all the great work you guys are doing everyday. It's amazing to see! Oh, and Merry Christmas too! 🎅

Thanks, Merry Christmas and Happy New Year!

Congratulations @blocktrades! You received a personal badge!

You made another user happy by powering him up some HIVE on Hive Power Up Day and got awarded this Power Up Helper badge.

You can view your badges on your board and compare yourself to others in the Ranking

Do not miss the last post from @hivebuzz:

Feedback from the January 1st Hive Power Up Day
Happy New Year - Project Activity Update

Hi Dan, I understand that the decentralized blacklist loading mechanism is already implemented, and I have a question regarding that, how is it that people are supposed to see a user is blacklisted in the hive.blog interface after they follow a certain blacklist?

It'll show up the same way as the old ones, with a number beside the name of the account (the number is the number of blacklists they follow that the account is on). I've checked how well this is working yet though, but should have time to do so soon.

it doesn't seem to be working at all

Also, I just discovered an apparent bug in the code, when I blacklist a user the system automatically unfollows it, I dont think it should do that unless I mute the user.
Also, and even more interestingly, if you then follow the user again, it will unblacklist it................
The people a user follows and the people in a blacklist should be independent.

It's a known issue and the code in question was entirely rewritten, but the new code hasn't been fully vetted yet, as I recall, so not yet merged in: https://gitlab.syncad.com/hive/hivemind/-/merge_requests/396

Ah ok, also, I just found another bug, not sure if this is also known,
a user can only be blacklisted (x)or muted, namely, if you blacklist it, then mute it it becomes unblacklisted, if you then blacklist it becomes unmuted.
Do you have an approximate ETA for when the functionality will be available?
as things are, as per above the system is totally flawed, and the marks of blacklisted people dont even show, so curators are flying blind.

Yes, it's known, there was a miscommunication with the implementer of the code, he's fixed it and testing it on his local system now. Likely will be fixed on Monday I suppose.