Core Development on Hive

in #hiveblockchainlast month (edited)

#hivedevelopers ... a delightful digital asset, provided by community member @psos / @doze

Hive powers crypto, people, and projects. The ecosystem being built on the blockchain is growing but the biggest opportunities are still ahead of us! At the heart of Hive, the core code is what makes everything possible.

Decentralized contributions to base blockchain and core code is a big challenge that also creates the greatest opportunities for the Hive ecosystem. There are a lot of questions around this, so here is a handy reference for things like, "what's core development? How can I get involved? Where does all of this happen?"

Not all development is core development.

Developers can be a catch-all term for any people who write code. There are developers who work on front end interfaces, back end structures and databases, mobile app specialists, website designers, software engineers, and even people who are learning about how to run blockchain nodes and write scripts... developers are everywhere!

When it comes to the Hive blockchain, core development consists of the base layer code, and the main libraries and services which can then be used to build projects based on the data and capabilities of the ledger. For example:

  • the Hive blockchain code itself, which is the software that witness, RPC, and seed nodes run
  • Hivemind, a database of social features that helps make Hive data more easily usable
  • Jussi, a caching layer that helps make calls to the blockchain faster and easier
  • the public image hosting infrastructure that front ends use
  • libraries, which help developers interact with the blockchain using different programming languages
    • Python libraries like hive-python and beem, or JS libraries like hive-js and dhive
  • GitLab pipelines, which manage workflow and facilitate deployment of changes, fixes, and new code between all contributers
  • testnet management and deployment tools like Tinman

This is far from a complete list but it's an example of the kinds of things that make up Hive's core development. This base layer is what makes the blockchain run and is a solid foundation for building other things. Developers of third party dApps, interfaces, games, etc. build their projects on top of Hive but the work that they're doing is separate from this core code. Yes, they're also developing... but on another important branch of the ecosystem. Core development and third party development go hand in hand: the blockchain was made to power web 3.0! Hive was built to be used and needs other developers to be inspired to build with the tools available.

Where can I find all this? How can I get involved?

The core code and the repository is open source, which means anyone can use or contribute to it! This allows many people to all work on the problems that they're most interested in and best suited to. By bringing together brains from all around the world to discuss, collaborate, and contribute, Hive has the ability to iterate and improve in a decentralized way. You might be a coder who wants to help work on this base code; you could be a developer wanting to create a project on Hive; you might be an end user who wants to follow and join in discussion of issues. There's also the chance that you're not super interested in the behind-the-scenes stuff and only want to check in to get infrequent updates now and again - in which case @HiveIO will have you covered! You don't have to be involved or interested in this stuff if you don't want to be.

The public repository is located at https://gitlab.syncad.com/hive.

If you have bug reports, fixes, requests, or would like to take a look at public discussion, you can browse or search the GitLab to see if the issue you're looking for already exists. In the left hand menu, you will see "Issues". These are topics open for whatever part of the project you are looking at. In the picture below, the issues for Hive (the core blockchain code) are shown. There is a breadcrumb trail at the top of the page to help you remember where you are in the repository.

Where to find GitLab issues

The most important thing to do is to take a look around first, and to read through the issues to make sure you're not duplicating your request or bug report. This will help keep things quick and neat! If your issue already exists, add a comment or an emoji to show your support for this feature. If it doesn’t, then feel free to create a new issue!

Please remember: add as many elements as you can about your bug report/idea/feature request. A good rule of thumb is that a developer should not need to contact you to begin working, so try to include everything pertinent in a concise, accurate way. Feel free to use all the tools at your disposal: pictures, code snippets, or a hive blog post with discussion all being good examples. Finally, add a label to the issue. Use only one that best describes it: bug, discussion, enhancement, documentation, suggestion.

Coordinating decentralized blockchain development is a lot of work.

To this end, there will be bi-weekly Core Development meetings. Most people do not have to participate: they are a good way for the developers who are doing the heavy lifting to get on the same page and talk some things out via voice. To keep the meetings usable and functional, only people who are working on core code will attend. There won't be a comment/public text discussion during these meetings.

These meetings are public, and will be live streamed for anyone to watch at the Hive YouTube channel available here: https://www.youtube.com/channel/UCwM89V7NzVIHizgWT3GxhwA
You can subscribe to this channel if you'd like notifications of the streams and to listen in. If you can't listen to the live meetings, the recordings will also be saved so you can come back to them. This account will be posting notes summarizing each of the core meetings, along with the next future meeting date.

Finally, if you find all of this terribly dry (it's okay if you do!) there is no obligation.

This post is a reference to help you understand and navigate some of the more intimidating parts of building a blockchain. As we go forward, we won't be as focused on this topic here on the blog. Choose the parts of Hive that interest you the most and make them yours! 🐝

Sort:  

Used to ignore the technical side of things on Steem but during the hostile takeover streams on PAL I got sucked into it and started enjoying every single bit of it.
I am probably now a blockchain technology enthusiast rather than a cryptocoin enthusiast. 🙂

Hi there guys!
Glad to see my animation in your post! :))
(Actually was made with my art account @doze, but still me lol)
Thanks for being here and our great chain!

Hive On!

Imagine the example and support you'd be giving to Hive oriented apps if you decided to stream on @vimm instead of Youtube (you can disable posting or msg @chiren or @ddrfr33k if you want to post without rewards, they'd help you in an instant) :)

unlock google translation, I see an incomprehensible set of letters

Dry but crucial.

Thank you for the communication. This is vital.

The fact there are so many opportunities for people to contribute is exciting. It is terrific to see so many developers involved at the different layers, especially the core. We are not dependent upon just one or two to get things done.

It may be dry, however I still find them useful. Just finished watching the video chat, and yeah, a bit dry, but I feel I am a bit more informed on a few things. Do you all see HF24 happening in the first week of May? Just curious. I do like how you did mention the separation from steem is moving along quite nicely and is almost complete.

The image server issue sounds like that may still be an issue, Pictures do take a lot of space so that is to be expected, at least I know it is still being worked on and that some glitches may happen in the next week or two while they are resolved.

Thank you all for the update.

Great post!

Good and important info, any way we can pin this so would-be developers are more likely to see it?

I was a retired dev / project manager but discovering crypto gave me the same buzz that I felt when I first connected to the internet via dial up and Compuserve so I started to get coding again.

I only recently took the step to try interacting with the Hive chain and now that I know how to do it I am hooked so I am taking a much bigger interest in the technical side of things and the possibilities blow my mind!

My current project, Rising Star, is using NFTs on Hive Engine and I am loving it!

Let's build on Hive and make it awesome!!

What kind of development is Steem up to?
kek.

Silly contests/initiatives and moving away from the English language, I suppose.

Waiting to copy/paste code.

great update and thanks for the links!