scrobble.life
HiveDevs

Release of new HAF API stack 1.28.6 next week

blocktrades update.png

It has been quite a while since I've made a post, but it doesn't mean the BlockTrades team hasn't been busy, quite the opposite.

The reason I haven't posted is I've been personally swamped with work since I started using Claude Code back in mid November, working around 12-14 hours a day, 7 days a week (something I haven't done since back in my early twenties when I started my first company).

Usually I report on the whole teams work, but it has been a long time since my last report, and it would take a huge post just to summarize what other team members have done. So mostly this is a report on the US programming team's work (which is just me and efrias).

Moving from coding to clauding

Our team had previously been using other AI tools like Github Copilot to assist with coding, but the gains, while substantial, weren't impressive enough to suck me back into full-time (or perhaps more accurately "overtime") programming again.

But then I read an article that recommended Claude Code, and when I mentioned it to efrias, he said he had already bought a personal license and switched to it, and he said it was much better than Copilot, so I decided to give it a try (Copilot was $10/month, Claude Code was $200/month).

Once I started working with Claude Code, I realized just how much we could potentially accelerate our work (10x or more faster), and also what the potential blocker to that was: a slow and flaky software CI (build-test system) that was designed to just barely be fast enough for purely human-based software development, but which completely failed for AI-assisted software development.

Build and test (CI) overhaul

The essential problem was that AI can add a new feature or make a bug fix in 5-15 minutes, but we had tests that ran for up to 90 minutes (and had intermittent fails too which makes it hard to judge whether a code change has caused the problem or it is just a random test fail, which leaves you and the AI particularly confused as to what to do next).

So I spent the next 2 1/2 months overhauling our compile and test software on most of our repos (we have a lot of repos) on https://gitlab.syncad.com, eliminating intermittently failing tests (AKA flaky tests) and reducing the time to build the software and run the tests. The overhauled CI still is far from perfect, but it is much more consistent and considerably faster. Also, based on the type of the change, the CI can decide to do less work, using less computer resources and finishing much faster.

NFS caching of HAF and HAF app replay data

Another big change I did was to add a NFS-based caching for replayed data for haf and haf apps our CI builders. This is not only useful for speeding up test times, it also makes it easier to compare "before and after" data for modified code, making it easier to diagnose bugs and performance regressions over time.

Major CI hardware overhaul

We also made major upgrades to our builder hardware as well. We added 2 new AMD 9950X3D systems with ZFS raided gen5 4 and 8TB Crucial T705 nvme drives as builders to speed up the bottleneck jobs. We updated the hardware where gitlab itself was hosted to run on a 9950 as well. And we put all the builders on an internal 10GB network along with a local docker registry and a local artifacts cache to reduce the load on the gitlab server. Most recently (this week), we also adding local caching for external packages (e.g. npm and pip) to speed up CI, reduce traffic to external servers, and avoid CI fails when 3rd party servers are offline or operating in a degraded mode.

Updates to the HAF API server stack (version 1.28.6)

After I got through overhauling CI, I was able to finally kick into high gear on updates to the software itself. I made a lot of changes across the repos, but probably the most significant changes are performance changes to HAF and to the most important HAF app (hivemind).

Speedup of hivemind replay from 60 hours down to 24 hours

Hivemind in particular has long been a bottleneck for our release cycle because even on our very fastest machines (which we only have a few of), it took over 2 1/2 days to do a replay, which meant every code change in hive, haf, or hivemind itself required a 2 1/2 testing cycle (and that's neglecting another 14 hours for the replay of haf itself if the change was in hive or haf rather than hivemind). Now hivemind fully replays in a single day, making this much less painful.

HAF API stack expected next week

We've already deployed a release candidate of the new stack to https://api.syncad.com for apps to test their code against. I recommend you all do this quickly, as we'll be deploying the same stack to https://api.hive.blog soon as a truly "final" production test before recommending it to other Hive API server operators.

And now for the truly incomprehensible portion of this post...

Below are the changes to the Hive API calls that may impact Hive app developers:

Breaking Changes (fields removed/added/changed type)

1. HIVE_ENABLE_SMT removed from config

Affected methods: database_api.get_config, condenser_api.get_config, call (wrapping get_config)

The HIVE_ENABLE_SMT boolean field has been removed from the config response. Code that reads this field will get undefined/KeyError instead of false.

# Before (HIVE_BLOCKCHAIN_VERSION 1.28.3):
"HIVE_ENABLE_SMT": false

# After (HIVE_BLOCKCHAIN_VERSION 1.28.6):
(field absent)

3. stats.muted_reasons — new field on posts

Affected methods: bridge.get_discussion, bridge.get_account_posts, bridge.get_ranked_posts, bridge.get_post

Posts that are grayed/muted now include a muted_reasons array in stats. Previously stats.gray could be true but the reason was not exposed.

// Before:
"stats": { "gray": false, ... }

// After — for affected posts:
"stats": { "gray": true, "muted_reasons": [2], ... }

The muted_reasons field is only present when the post is grayed. The array contains integer reason codes. Multiple reasons can apply simultaneously. ~43 instances observed across 543K requests.

Reason codes

Value Name Meaning
0 MUTED_COMMUNITY_MODERATION Explicitly muted by a community moderator
1 MUTED_COMMUNITY_TYPE Post in a journal/council community where author lacks member+ role
2 MUTED_PARENT Reply to a muted post (inherited)
3 MUTED_REPUTATION Author has negative reputation (calculated dynamically)
4 MUTED_ROLE_COMMUNITY Author has a muted role in the community (calculated dynamically)

These codes can be retrieved programmatically via bridge.list_muted_reasons_enum:

curl -s http://api.hive.blog \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"bridge.list_muted_reasons_enum","params":{},"id":1}'
{
  "result": {
    "MUTED_COMMUNITY_MODERATION": 0,
    "MUTED_COMMUNITY_TYPE": 1,
    "MUTED_PARENT": 2,
    "MUTED_REPUTATION": 3,
    "MUTED_ROLE_COMMUNITY": 4
  }
}

4. condenser_api.get_reblogged_by — author now included

The original post author is now included in the reblog list. Previously only rebloggers (not the author) were returned.

// Before (alpha6):
["adifginting", "asterhive", "casberp", ...]

// After (bodyval):
["learnelectronics", "adifginting", "asterhive", "casberp", ...]
//  ^ author now included as first entry

This is an intentional bug fix. Code that checks .length or iterates over rebloggers will see one extra entry.

Value Changes (same fields, different values)

These are due to bug fixes in hivemind 2.0.0dev1. The values change but the types and field names remain the same.

Community statistics (num_pending, sum_pending, num_authors)

Affected methods: bridge.get_community, bridge.list_communities

Pending post counts and payout sums differ slightly due to changes in how is_paidout is calculated. These are small numeric differences (typically 1–18 fewer pending posts per community in bodyval).

Post counts (post_count)

Affected methods: bridge.get_profile, bridge.get_profiles

Account post_count values are slightly higher in bodyval (typically +1 to +17). This affects high-volume posters most.

Trending tags statistics

Affected methods: condenser_api.get_trending_tags

Tag-level comments, top_posts, and total_payouts values differ slightly due to the post counting and payout status changes above.

Children counts

Affected methods: condenser_api.get_content, bridge.get_post

Post children counts may differ by small amounts (e.g., +4) due to the post counting changes.

Reply ordering

Affected methods: bridge.get_account_posts (sort=replies)

When multiple replies have the same timestamp, the tiebreaking order may differ. This affects which post appears at a given array index but not the set of posts returned.

Non-Changes (confirmed identical)

The following were verified identical across 543K requests:

  • Block data: block_api.get_block, condenser_api.get_block, block_api.get_block_range — all match
  • Account data: condenser_api.get_accounts, database_api.find_accounts — match (except vesting_withdraw_rate 1→0 cleanup on a few accounts, intentional)
  • Transaction data: condenser_api.get_transaction, account_history_api.get_account_history — match
  • Market data: condenser_api.get_order_book, get_ticker, get_recent_trades — match
  • Witness data: condenser_api.get_witnesses_by_vote, get_witness_by_account — match
  • RC data: rc_api.find_rc_accounts, rc_api.get_rc_stats — match
  • Follow data: condenser_api.get_followers, get_following, get_follow_count — match
  • Proposal data: database_api.list_proposals, list_proposal_votes — match

Comments · 19

  • @melinda010100(80)· 50d

    Just a request from a loyal Ecency user for your vote on the Ecency Proposal. It would mean so much to so many new users who have voted with their small accounts..

  • @josephsavage(67)· 53d

    Do you have a published rationale for your HBD savings rate choice? We are right on the threshold between 10 and 12% and it seems like a lower APR would better for Hive in the current market conditions.

  • @macclean(47)· 62d

    This is cool and nice. Thanks for the update

  • @lcampesina(67)· 64d

    Tuve instalada en mi Android aplicación de Obsidian me pareció muy interesante lamentablemente yo no conozco estos temas de programación pero El avance que han hecho espero que sea de beneficio para el ecosistema

  • @mortezayousefi(67)· 64d

    it is always interesting to read these development updates because they give a rare look behind the scenes at the work most users never see but depend on every day

    after all these upgrades and months of intense work what do you see as the next biggest bottleneck for Hive development that still needs to be solved

  • @shortsegments(78)· 114d

    Thank you for the update. I appreciate your years of service, starting with the fork of Steem to Hive.

    I've published a DHF proposal called HiveComunityBank that creates permanent capital infrastructure for the Hive ecosystem. The core mechanism: DHF HBD enters savings and never leaves; loan disbursements come from interest income and powered-down rotations; manager compensation comes exclusively from curation rewards on collateral HP; defaults result in permanent HP delegation rather than capital loss.

    I'd value your read on three specific concerns:

    Would the projected scale of HIVE-to-HP conversion (500K HIVE at full deployment, 1.5M annualized) create any HBD stabilizer dynamics you'd be concerned about?

    The custody model uses three independent active keys backed by the 3-day savings window rather than multisig. Is there a hybrid structure you'd consider stronger for protocol of this kind?

    The manager succession plan relies on co-custodians plus governance vote. Is there infrastructure I should be looking at to make this more robust?

    The full proposal is here Proposal Link. If any of these issues alone would prevent your support, I'd rather know now and address them, rather than waste your reading time. Thank you for consideration of my request.

  • @dlmmqb(75)· 129d

    I can't create claude code account as i never receive verification code on phone. have to fork, or switch to hermes currently on gemini

    still figuring out what's best for me as apparently claude code is not at the moment

  • @solorzanot(65)· 130d

    es impresionante como el uso de herramientas de IA como claude code puede acelerar tanto el desarrollo de la infraestructura de hive y me alegra mucho saber que el tiempo de replay de hivemind se redujo a menos de la mitad

    it's impressive how the use of AI tools like claude code can accelerate hive's infrastructure development so much and i'm very happy to know that hivemind's replay time was reduced to less than half

  • @blanchy(75)· 132d

    Did you use Dispatch yet? It's great. I spent my time now texting Claude. A nice tip for Claude Context. Download Obsidian for your notes and projects and form a relationship between the various Hive systems. Use the Obsidian CLI to get Claude to read your notes so it is a faster way for Claude to obtain all the context and relationships. It's quite cool. Better explanation here

  • @encuentro(71)· 133d

    Excelente noticia esta. Se nota que han trabajo duro en equipo. Eso de bajar la sincronización de 60 a 24 horas es una gran ventaja, definitivamente se justifica la inversión en Claude Code pienso . lo que me da curiosidad, es que por fin vamos a saber por qué se silenció un post en vez de quedarnos adivinando. Eso le da más transparencia a todo. un gran abrazo gracias por informar.

  • @hivebuzz(74)· 133d

    Congratulations @blocktrades! Your post has been a top performer on the Hive blockchain and you have been rewarded with this rare 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

  • @scipio(71)· 134d

    Hey Dan, all is well I hope? FYI: your OVH box at 164.132.48.22 is up, but nothing is listening on 80/443. Looks like your web server process needs a restart. Cheers @scipio

  • @tenoray(50)· 134d

    🫂🤍

  • @mydempire(57)· 135d

    It’s interesting to see how AI is becoming a helpful tool for coding. It can speed up development and help developers solve problems faster.

  • @latinowinner(58)· 135d

    as always only time will judge and tell

  • @aftabirshad(56)· 135d

    This update clearly shows the direction of serious development. The shift from traditional coding to AI-assisted development is more than just a productivity boost; it represents a fundamental change in how we build software.

    The numbers tell the story: hivemind replay dropped from 60 hours to 24 hours, we overhauled CI, upgraded hardware, and now we have a cleaner API stack. This progress happens when a team embraces new tools instead of resisting them.

    When it comes to AI in development, history tends to repeat itself. People once feared mass unemployment when tractors replaced plows. Twenty field workers were replaced by one machine. But what truly happened? More jobs were created, better jobs, and agriculture grew beyond anyone's expectations. AI in coding is similar. It does not replace the builder; it helps the builder work faster and smarter, enabling small teams to tackle tasks that were previously impossible.

    Those who embrace these changes will build more. Those who ignore them will fall behind not because they lack talent, but because the difference in output will become too great to compete with.

    The Hive community, in particular, has some genuinely talented individuals. This type of tooling, combined with the open nature of Hive, makes it one of the most exciting places to build right now.

    I look forward to testing against api.syncad.com and seeing how the 1.28.6 stack performs in production. The addition of muted_reasons and the fix for reblogged_by are both valuable improvements for app developers.

    Great work as always, @blocktrades. This progress drives the entire ecosystem forward.

    Posted Via HivePostify

  • @urun(69)· 135d

    Future of Dev work. Ideas are the new meta.

    Happy you use Ai so efficient, it makes a lot of fun :)

  • @peng-an(50)· 135d

    Claude easy worth the 200$ a month. A good hack is to rotate multiple subs, that at least what some do, hehe.

  • @mengao(70)· 135d

    Up until a little while ago github copilot $10 subscription didn't have Claude Opus, now they have, this is the main difference. But a $10 subscription with Opus would probably last very little. I signed up for Claude Code as well, but I kept my copilot subscription, sometimes I still like to look at the files and the code while working with AI, and the performance of Opus is the same on both.