Core development proposal year 2

image.png

Hello !

My first proposal to work on core development will soon expire, I spent a bit of time to think if I wanted to continue working on core hive or if I wanted to pursue other things, Overall the past year has been a blast and I still feel like there are so many exciting things to build on hive and I want to be part of it.

The past year in recap:

If you haven't been following my account you probably wonder what I've been doing for the past year, here's a throwback of most of the things in (more or less) chronological order:

The beginnings:

I was very involved the birth of the chain, helping with parts of the soft fork and later the hard fork that led to the birth of hive. Then once we got that out of the park, it was a great start but most of the hard work was still to be done.

We decided to build things in an decentralized way, so I thought It was important that we met now and then to sync on everything, because unlike other projects we wouldn't have a central foundation with "official devs" like steemit inc. So set to organize core dev meetings more or less every two weeks (we don't waste time meeting if there is nothing to discuss). I wanted to bring awareness to what was currently happening and make them public to break with the old "steemit inc is working on stuff behind closed doors".
We are still going to this day. I've organized 19 of them and you can find all the recap on my account, and recordings on hive's youtube channel (ps the next one is this monday 29th at 5 UTC, tune in !)

We wanted to make hf24 quickly after the birth of the chain to secure it (so that hive didn't suffer the same fate as steem) as well as bring a lot of crucial optimizations to reduce the cost to operate a node. So I set to work on things that I could ship in that timeline.

Throughought the year I focused on the proposal system because it's funding a lot of the blockchain development so I felt that the better the system, the more "brang for your HBD" we would get.

One of the first problems I saw was that figuring out a price was hard for people, they would set an amount and then realize they asked for too much and their proposal was just doomed, they had to make a new one which ment losing all of the existing votes, additionally some steem-era proposals had "steem" in the title and it just looked bad. So I added the update proposal operation to change the title, linked post, and daily pay for a proposal: https://gitlab.syncad.com/hive/hive/-/merge_requests/48

Then there was the problem of being able to create proposals that ran for ever (even today there are two proposals set to expire in 2037), which bears a cost to the chain so I put a limit that every day above 60 days, it would cost 1 extra HBD per extra day. It doesn't bear any cost on proposals that can just add this to the payout they ask for (get funded for 100 days, costs 50 HBD, just add 50 HBD to your proposal). https://gitlab.syncad.com/hive/hive/-/merge_requests/48

Finally suggested by @smooth it doesn't make sense to count the HBD in the DHF in the debt ratio as it's "locked", the HBD should only count when it's paid out. https://gitlab.syncad.com/hive/hive/-/merge_requests/97

Additionally, donations in hive to the DHF should be possible, just convert the hive to HBD instantly. This mechanism is what allows us to earn a lot of money with the HBD stabilizer proposals. (as he can just get HBD from the DHF, sell it for hive and send the hive back to the DHF) https://gitlab.syncad.com/hive/hive/-/merge_requests/97

Then there was the whole discussion about what to do with the ninja mine, the DHF account was sitting on millions of HIVE that cannot be used for anything, ultimately we decided on slowly converting the HIVE to HBD (0.05% per day), as of the time of this writing the code has converted 6 million HIVE to HBD since and has drastically increased the DHF budget allowing us to fund many more projects. https://gitlab.syncad.com/hive/hive/-/merge_requests/97

post hf24 to now

After hard fork 24 it was time to look forward to bigger features.

I had started working on RC delegations even before hf24 but then stopped working on it because I knew it wouldn't be included in hf24. So when I went back on it post hf24. My initial code was on a branch that didn't take into account lots of rebranding (steem -> hive) work from blocktrade's team. SSo it took a while for me to get it back to a state where it worked,
It's a long work in progress as I worked on it, dropped it to work on other things, then picked it back up etc. Now I'm working on it again I didn't really know when to put it in the chronology so here https://gitlab.syncad.com/hive/hive/-/merge_requests/97

In terms of big features for hf25 I wanted to make recurrent transfers a thing, I really think it's a key thing to enable paid communities and a lot of subscription models like patreon. There are a lot of things to say about the feature, how it came to be and how much value it will bring to hive but I don't think it's really the point of this post. Just know that it's now almost ready and just needs to get peer reviewed by the other core devs. https://gitlab.syncad.com/hive/hive/-/merge_requests/150

In parallel to the "big two" I worked on a bunch of "low hanging fruits":

On top of the original update proposal operation, I added the option to update the end date of a proposal, in the original design I thought this wasn't necessary as you could just delete the proposal, but trustlessness is key and it's much better to see the proposal end at an earlier date than having to trust someone that tells you "I will delete it don't worry", turned out to be harder than expected but it's now merged and ready for hf25: https://gitlab.syncad.com/hive/hive/-/merge_requests/165

@smooth found out the proposal payments were not accurate, so I poured some time into it and found out there was a calculation error, and then added a fix for it: https://gitlab.syncad.com/hive/hive/-/merge_requests/168 this made every proposal get slightly underpaid, so all good there, no money was wasted, while working on this I found another bug but decided against fixing it for hf25

I went through the developer documentation and highlighted a list of things to fix, which @inertia is now working on https://gitlab.syncad.com/hive/devportal/-/issues?scope=all&utf8=%E2%9C%93&state=all&author_username=howo

@arcange mentioned that a virtual operation was missing when a recovery account operation got executed https://gitlab.syncad.com/hive/hive/-/merge_requests/162

on top of this there are a lot of small bugfixes that I did throughout the year not really worth mentioning there.

Communities

Finally I started to work on communities. I know they haven't seen a lot of love from the core team in terms of new features. So I have decided to spend a significant amount of time on it next year, things like mandatory beneficiaries communities, paid only communities (you have to have a recurrent transfer enabled to participate), statistics, new "hot" algorithms, topics, maybe even content locks etc. A lot of it is outlined in this post @jarvie/history-of-blockchain-communities-and-what-is-next by @jarvie but also in this issue with feedback from the community on the features by @guiltyparties https://gitlab.syncad.com/hive/tasks_without_projects_yet/-/issues/26

Looking back it's incredible how much I learned and how much more effective I am, there are so many gotchas when working with the core blockchain code that can make you rip your hair for hours that are now I'm like "oh it's that thing, done". I'm taking all that experience with me to year two to tackle on more and more ambitious features for hive in all of it's aspects.

The future

I won't make the same mistake as last year saying what I will be working on in details as I'm not the only one deciding things/priorities shift/ some things just don't make sense. But in the near future it's going to be a lot of work on communities and for the code hived well, come listen to our dev meetings to see day to day how things evolve ;)

The proposal

I think the previous parameters were fair so I'm not changing anything, 275 HBD a day for a year.

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/167
hivesigner

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

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

Closing words

I'd like to thank everyone that I've had the luck of working with last year and especially blocktrades and team (bartek, abw etc) who have been very cooperative and friendly which helped a lot throughout the year.

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

@howo

H2
H3
H4
3 columns
2 columns
1 column
92 Comments
Ecency