Core development report #12: Good progress on direct rc delegations

in #core10 months ago



I usually do my reports via voice during the hive developers meeting, but due to some vacations here and there and rush with hard fork 25, we decided to postpone it a few times so I figured I'd make an update about my progress via text.

Nowadays I am working on direct rc delegations, if you didn't follow, the initial implementation was judged too complex and there was a fear that this complexity could hide bug in the edge cases. Plus it makes it less user friendly. So I made a new specification here

And now I'm implementing it, work is in progress on that branch

The core core is done, you can delegate rc, update an existing delegation, delete a delegation and rc delegations are taken into account when calculating rc. I have also added some api endpoint so that when you call find_rc_account and list_rc_account the amount of RC received/delegated is reflected there.

I also added an endpoint to fetch direct rc delegations but I'm having some issues with the indexes (it induces a uniqueness constraint in the blockchain which is a problem because then if you want to delegate to one person and then another person you end up with a conflict because "from" is unique).

I've also included everything above in the cli_wallet for easy use. I'll update hive-js later on too so that most dapps will be able to play with it.

Apart from that I need to handle the edge cases where you lose RC (you delegated all your rc but then you power downs so you can no longer sustain those delegations) and write a mountain of automated tests.

Once that's done, I'll go through a bunch of reviews with @blocktrades' team (which I'm assuming won't happen until a few weeks as some of the core team is in vacations). Then we'll launch a testnet (or update the ongoing testnet, that part is unclear) so that some of the power users/ dapp users can test it out.



Glad to hear RC delegation isnt too far out. Thanks for the update.

Will these delegations auto expire on a set date with a reminder to renew if necessary?

No expiration date planned, it will be similar to hp delegation where you cancel them if you want to.

That can lead to a lot of micromanaging. On a few occasions I've tossed a bit of HP over to a noob or something. And for some reason I've had bad luck helping; they vanish and don't even use it. You have to keep checking in on progress. If I had thousands, I'd lose my mind and most likely decide to opt out. I realize developers will most likely find a solution for themselves especially on a larger scale. Would be cool if it came standard somehow though, for the rest. Something to consider for the future at least. I suppose it's worth waiting to see how it's being used first as well, before streamlining.

Adding an expiration adds some extra weight on the chain that I don't think is really necessary. I assume the majority of the use cases for this are going to be automated and worst case it's fine if you have an outgoing delegation that you forgot, it's not like you'll miss the rc since you use like a fraction of your total RC and it's not like hive power where if it's delegated out you lose out on curation rewards.

Plus I assume there will be a neat UX to show you a list of outgoing rc delegations.

Thanks for taking the time to look into it. I've learned over the years just from reading you folks that there's a delicate balancing act happening behind the scenes. So yes, stick to the path you're on. I'm confident there will be a solution to that particular situation I mentioned, at some point. I'll bet within the first month once it goes live, someone out there will be offering, something, somewhere, that probably even does more than what I think I'll need. Funny how that works around here.

I'm an independent artist and content creator. But not the kind that just wants to collect crypto. That comes secondary to the audience I'd like to collect since living in a bubble just feels awkward to someone in this field. The majority of my potential market is on the outside and if I can offer them RC for instance, they can be on the inside engaging, maybe even going through the million hoops to purchase an NFT and actually coming out alive to say thanks, then hopefully stick around for more. Attempting to build a business on cutting edge technology that's constantly evolving, meaning I need to know how to apply every new piece of the puzzle efficiently and effectively, as I operate in a decentralized world that allows me to completely ignore the path laid out for me since it sometimes doesn't fit, and just do my own thing, with the resources I have; it's difficult. Still fun. Sometimes heavily restricted by the pace and decisions of others. But I don't plan on dying tomorrow.

I appreciate you man, so keep up the good work.


Cant wait to use it :)

I suppose that the RC delegation reduces the number of discount accounts that the delegator can create (since both use the RC) or can we use the pool to create discount accounts?

Well yeah if you delegate then you lose some RC and thus if you delegated too much you might no longer be able to claim as much as you used to.

There is no notion of pools in this iteration of the RC delegations. It's just a direct user to user delegation where user A loses 50 rc and user B gains 50 rc.

Hi, thanks for the answer. Oh OK new version remove the pools to keep only direct delegation (the pool including the notion of demand balancing was an excellent idea for optimizing the use of RC).

It will be easy to upgrade/downgrade a delegation? A reader/voter doesn't have the same needs as a prolific author and requires readjustment.

It will be very easy, you just re-delegate to it basically :)

Nice update, any news with the exxp project?

It's still going and working :)

Your content has been voted as a part of Encouragement program. Keep up the good work!

Use Ecency daily to boost your growth on platform!

Support Ecency
Vote for Proposal
Delegate HP and earn more