Core development proposal year 3

image.png

Hello !

I have been working on hive for two years now, I've been incredibly humbled by the support you have all given me. And I wish to continue to contribute for a third year.

Who am I

I have been involved with hive core development since the birth of the chain. Having contributed to the soft fork that locked justin sun's funds and later the very first hard fork to create hived.
Ever since, I've been working on hive as a core developer contributing to hive and hivemind implementing sensible requests from the community.

If you're interested in my full journey I made a throwback post retracing most of my activities on steem then hive here: @howo/my-hive-story

Work done over the past year

Unlike the first and second years where I worked on many "small" things, now that I am much more knowledgeable about core hive development I could tackle much bigger projects.

Small things here and there:

I have organized bi-weekly meetings throughout the year to help sync the rest of the team and shine some lights on the day to day developments going on. Allowing the community to react and submit ideas. You can find them all on the hive youtube: https://www.youtube.com/channel/UCwM89V7NzVIHizgWT3GxhwA and on my hive account.

Some virtual operations were requested by the community so that they can do some processing on it, you can read the code here: https://gitlab.syncad.com/hive/hive/-/merge_requests/332

  • A virtual operation on missed witness blocks, this makes it much easier to build alert scripts when witnesses miss blocks which should improve reaction times when some nodes go down.
  • A virtual operation logging the HBD/HIVE ratio when sending HIVE to the DHF, that way people can look back and know exactly how much HBD was created from the HIVE sent. Which will improve some of the reports.

A bunch of documentation and testnet coordination: @howo/how-to-run-a-witness-node-on-the-hf25-testnet / @howo/hivemind-dev-environment-setup-guide-according-to-my-findings-it-may-or-may-not-be-the-best-way

Small bugfix on the cli_wallet: https://gitlab.syncad.com/hive/hive/-/merge_requests/169

Finishing recurrent transfers

I finished recurrent transfers, https://gitlab.syncad.com/hive/hive/-/merge_requests/150 it's funny reading my previous proposal where I say "it's almost done" in practice it took a LOT of iterations to get it truly done, in order to build tons of tests, try to break it and make it fully bulletproof. Now I am happy to say that it's been released as part of hard fork 25 and ready to be used by everyone !

I also added support for recurrent transfers in the most common libraries to make it easy for all dapp devs to use the new feature: https://gitlab.syncad.com/hive/hive-js/-/commit/fa2c996195cada345e92612c9616829ae988ec89

RC frickin' delegations

By far the biggest thing this year. If you recall, there was an initial implementation done by steemit back in the days for SMTs, it was a hot mess that barely worked, I ported it, improved and bugfixed. I put in a LOT of work to make it ready for hard fork 25 but ultimately we decided against pushing it. The design by steemit was a pretty complex (but powerfull !) and we were afraid of unknown edge cases. The RC system that steemit built in HF20 was never fully fully stable (@blocktrades is currently allocating a lot of time in hf26 to improve it). Building something this complex on top of an uneven ground was dangerous, @gtg suggested creating a simpler system (you can read some things about it here: @howo/direct-rc-delegations-vs-rc-pools-and-tentative-direct-rc-delegations-spec). Then if w feel a real need for more powerful features, we would increase the complexity.

So all that work went in the bin. Sometimes you have to spend a lot of time on an idea and then decide it's best to pull the plug. I think it's great that we didn't fall for the sunk cost fallacy. Had we shipped it I would have saved a lot of my time who could have then be spent on communities etc. But we are responsible for the well being of the chain and safety will always come first.

I went back to the drawing board and designed a completely new RC delegation system: https://gitlab.syncad.com/hive/hive/-/issues/152 there were a bunch of back and forth with the community on the specifications. I dumped the old steemit code and replaced it with brand new custom built code.

There were a lot of back and forth and I am happy to say that it's now merged and ready to be shipped with hard fork 26: https://gitlab.syncad.com/hive/hive/-/merge_requests/245

Since it's built on top of custom_jsons there is no need to update client libraries as they can all already do it

Communities

I have worked on communities, biggest one being the new community types where only members can post and where only members can post/comment along with a new community op to change the type of your community at will. It's been mostly a process of figuring out how to make this work best with the existing infrastructure (if suddenly dapps break because I changed the API it's not a great look) I have a first version working here: https://gitlab.syncad.com/hive/hivemind/-/merge_requests/531 but I still need to add a lot of automated tests (and fix the existing ones).

On top of it I learned that anyone can give a title/role to someone even if he's not subscribed to the community (it's important for reasons that I can't expand upon here), so I am working on a fix for that too here: https://gitlab.syncad.com/hive/hivemind/-/merge_requests/539

The proposal

I would like to continue offering my services for hive, working both on hive and hivemind. There is still so much to do, light accounts, new communities types, more documentation to make it easier for new devs to come and contribute, paid communities, a rosetta api to start the process of listing us on coinbase, support for recurrent transfers on hivemind, DHF improvements etc. I can't list everything that will be built today because needs and priorities tend to shift as the year progresses. But it gives you an idea.

When I renewed my proposal last year I haven't increased my pay despite my hourly rate rising. The chain was still young and I didn't want to overburden the proposal system, thanks to the ninja mine converting over time we now have have much more budget and I can safely raise my pay to match my hourly rates. And I would like to also build a small fund to pay freelancers to help me write documentation (which turns out is a very time consuming effort) so I am asking for 330 HBD a day. The proposal will start after my current one expires.

Voting

Here is a few easy links to vote on the proposal :

https://peakd.com/proposals/214
hivesigner

You can view all the proposals on: (make sure to vote on the upcoming one and not the old one though !)

https://hivedscan.com/proposals
https://wallet.hive.blog/proposals
https://peakd.com/proposals

Closing words

If you have any questions, please feel free to ask them in the comments !

@howo

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center