NectarEngine 0.1.4: Now with Less Failure

Hey everyone,

Before today nectarengine relied on a single, hard-coded URL for its API calls, or one you provided. If that one node was slow, offline, or just having a bad day, everything would time out and crash.

image.png

That's a terrible design, I needed to fix it properly.

NectarEngine 0.1.4: Now with Less Failure

I'm happy to announce the release of NectarEngine 0.1.4, which is a major refactor of how the library handles node connections.

Instead of a single RPC instance, I've built a new _RPCPool that is much more resilient. Now, when you initialize the Api, it creates a pool of candidate nodes. If a call fails, it automatically retries a couple of times and then rotates to the next node in the list. This should make the bot, and any app using the library, far more reliable.

Smarter Node Discovery

I didn't just want to replace one hard-coded list with another. The library is now much smarter about finding good nodes.

  • It automatically pulls the latest, best-ranked nodes from the PeakD Beacon (https://beacon.peakd.com/api/he/nodes).
  • It also uses the @flowerengine metadata as a fallback.
  • If both of those fail, it falls back to the old hard-coded default.

This new logic also applies to Hive Engine history nodes. The library now pulls a list of history nodes from the beacon, and it will retry up to ten times on a failed query before giving up.

Housekeeping

While I was in there, I did a lot of spring cleaning. I stripped out a ton of old, unused __future__ import statements and other legacy code. I also expanded the test suite to cover all the new pool rotation and retry logic, ensuring the local src/ package is properly imported during testing.

The new version is all built, tested, and published to PyPI.

2025-11-17_11-52.png

Hopefully, this means you'll be seeing a lot less of that type of error.

As always,
Michael Garcia a.k.a. TheCrazyGM

Sort:  

Nice update.

Love to see Beacon integrated into more and more project 😍

Thank you for updating this!

!PAKX
!PIZZA
!PIMP

View or trade PAKX tokens.

@ecoinstant, PAKX has voted the post by @thecrazygm. (1/2 calls)

Use !PAKX command if you hold enough balance to call for a @pakx vote on worthy posts! More details available on PAKX Blog.

Loading...
Loading...

PIZZA!

$PIZZA slices delivered:
@ecoinstant(1/20) tipped @thecrazygm

Come get MOONed!

Loading...

Excellent, my friend! This will certainly help make infrastructure that depends on functional nodes a good bit more resilient, and with all the intense attacks on Hive and Hive-Engine nodes, this is essential now I'd say! 😁🙏💚✨🤙

Nice update, keep forgetting to test it. Been using my own library for a while now because I wanted smooth fail over retry logic, plus everything else was abandoned.

Loading...

Excellent project.

Loading...