Select Page

Inside the blockchain developers’ mind: How to avoid development hell

Inside the blockchain developers’ mind: How to avoid development hell

Cointelegraph is following the event of a wholly new blockchain from inception to mainnet and past by its collection, Contained in the Blockchain Developer’s Thoughts, written by Andrew Levine of Koinos Group.

We just lately launched the third and last model of the Koinos testnet, which is why I need to speak about one thing few initiatives like to speak about: Constructing blockchains is improvement hell. On this article, I’ll clarify why and the way different builders can keep away from getting caught in it.

At first blush, constructing a blockchain doesn’t sound so onerous. A blockchain is only a mixture of well-established cryptographic primitives, which, when correctly carried out, permit for the development of a ledger containing a verifiable historical past of transactions by a community. The extra decentralized the community, the extra reliable the historical past.

Blockchain “frameworks”

In an effort to make constructing new blockchains simpler, different groups have launched blockchain “frameworks” that, in principle, ought to eradicate the necessity for builders to fret about constructing the blockchain itself in order that they’ll concentrate on no matter distinctive options they need to construct into the blockchain. Cosmos, EOSIO and Polkadot’s Substrate are examples of such blockchain frameworks.

When our workforce stopped engaged on Steem (the world’s first fee-less blockchain), our authentic intention was to leverage an present blockchain framework to construct a blockchain designed to be as accessible as attainable. We had spent 4 years refining Steem’s fee-less design and figured that, by porting that answer into an present blockchain framework, we might ship a blockchain that was much more accessible than another blockchain in comparatively little time.

Associated: Contained in the blockchain developer’s thoughts: Proof-of-burn blockchain consensus

Really fee-less and general-purpose

However we had been shocked to search out that not one of the present frameworks allowed us to create the form of really feeless person expertise we had been seeking to deliver to the market. We didn’t simply need to take away charges on a technical stage, we needed to empower builders to construct purposes that had been free to make use of. Additionally they lacked a lot of different options we believed had been required to ship a suitable developer expertise.

The ability of a general-purpose blockchain stems not from the options the blockchain engineers construct into the blockchain however from the options that builders add to that blockchain as good contracts. That is doubly true for a blockchain framework that ought to actually be essentially the most general-purpose blockchain conceivable because the entire concept is to permit folks to construct any form of blockchain they’ll think about. And but, the prevailing frameworks didn’t empower us, some of the skilled blockchain improvement groups, in our makes an attempt to construct the blockchain we needed to construct in a number of methods.

The present frameworks not solely made it unimaginable for builders to create free-to-use purposes, however in addition they pressured builders to be taught new and sometimes troublesome programming languages and dramatically restricted the speed at which each purposes and the blockchain itself might enhance.

Associated: Contained in the blockchain builders’ thoughts: Constructing a free-to-use social DApp

Releasing builders

We needed to construct a blockchain that might free builders to construct insanely nice purposes that strange folks would love to make use of. That allowed the builders to work within the programming languages they already knew and cherished (what we name “common language help”); that allowed their purposes (and the blockchain itself) to quickly evolve; and, most significantly, it allowed them to construct purposes that had been free to make use of.

However so as to construct that blockchain we first wanted a really general-purpose blockchain framework that might not solely permit us to construct the blockchain of our goals however as a pure consequence of being essentially the most general-purpose framework conceivable, ought to permit anybody to construct the blockchain of their goals.

Koinos is that final general-purpose blockchain framework that can function the muse for the last word feeless layer 1: Koinos mainnet. The Koinos Blockchain Framework (KBF) is designed to be the best blockchain conceivable, containing solely these cryptographic primitives essential to assemble a blockchain and the fitting “system calls” to permit for the widest vary of behaviors to be added in-band (and not using a onerous fork) by the importing of a wise contract.

Infinite upgradeability

The advantage of this design is infinite upgradeability, however the price is that it makes getting the system calls proper all of the extra necessary. Lacking a system name or designing it incorrectly would imply having to cope with an in any other case avoidable onerous fork. As a result of onerous forks are so time-consuming, political and disruptive, they’re the only greatest issue limiting a blockchain’s capacity to enhance itself, which is finally felt by each single developer whose software is constructed on such a platform.

Now we are able to see how each software and blockchain builders can get trapped in improvement hell: working in programming languages they aren’t comfy with, on platforms that drive them to include charges and that enhance at a snail’s tempo. Below these circumstances, even minor adjustments have extremely excessive stakes, and we haven’t even factored in these eventualities the place there are tens of millions, typically billions, of {dollars} in danger.

That’s improvement hell. Because the core improvement workforce behind the Steem blockchain that needed to oversee 23 onerous forks, we all know this terrain higher than virtually anybody else, which is why we had been so dedicated to banishing it, nicely … to hell.

Constructing the Koinos Blockchain Framework from scratch with a wholly novel microservice structure and getting it to the purpose the place we might launch variations 1 and a pair of of the testnet had been extremely difficult. However integrating the suggestions we received from these testnets, fixing the bugs they uncovered, and finalizing the all-important system calls had been an entire different stage. However we went by that improvement hell with the hopes of creating it in order that others gained’t ever need to.


Testnet v3 is, subsequently, greater than “simply one other” model of the testnet. It’s the last model of the Koinos Blockchain Framework, which is why we’ll now discuss with the testnet, not by a model quantity, however by the title: Harbinger. It’s the end result of practically two years of working, figuring out and implementing all the required system calls wanted to offer blockchain builders the last word stage of freedom and permit their software builders to learn from a platform that’s bettering at a extra speedy fee than another blockchain on the market.

After all, everytime you’re attempting to resolve a very necessary drawback, some stage of improvement hell is inevitable. You simply need to just remember to don’t undertake applied sciences that increase the stakes unnecessarily and that the objective you’re striving for is price the price.

For us, that objective shouldn’t be solely sparing blockchain builders (together with ourselves) from numerous hours spent in developer hell but additionally leveraging this new know-how to construct Koinos mainnet: the last word feeless layer 1 for empowering builders to construct insanely nice blockchain-based purposes.

No extra improvement hell

The KBF goals to eradicate improvement hell by permitting builders to construct any blockchain they’ll think about just by writing good contracts, which is infinitely simpler than working within the blockchain code itself. And that’s precisely the place we discover ourselves in now. Whereas growing the blockchain framework was extremely difficult, now that it’s over, all that’s wanted to finish Koinos mainnet is simply two good contracts: one for our proof-of-burn consensus algorithm and the opposite for governance.

Not solely is writing good contracts far easier than blockchain improvement, however this additionally implies that blockchain builders now get to make the most of the ever-expanding instruments which are out there to good contract builders just like the AssemblyScript SDK considered one of our neighborhood members constructed. AssemblyScript doesn’t simply produce much more environment friendly good contracts than these written in C++ (that was a shock), it makes good contract improvement accessible to JavaScript builders.

Because the KBF turns any good contract developer into a possible blockchain developer, because of this growing customized blockchains will now be accessible to JavaScript builders with much more languages to return, reminiscent of Rust.

Should you’re serious about working Harbinger, we’ve made it insanely straightforward to run a node so that you might be up and working in beneath 5 minutes.

This text doesn’t comprise funding recommendation or suggestions. Each funding and buying and selling transfer entails threat, and readers ought to conduct their very own analysis when making a choice.

The views, ideas and opinions expressed listed below are the writer’s alone and don’t essentially replicate or signify the views and opinions of Cointelegraph.

Andrew Levine is the CEO of Koinos Group, a workforce of business veterans accelerating decentralization by accessible blockchain know-how. Their foundational product is Koinos, a feeless and infinitely upgradeable blockchain with common language help.

Source link

Leave a reply

Your email address will not be published.


ArabicChinese (Simplified)DutchEnglishFrenchGermanItalianPortugueseRussianSpanish

  • USD
  • EUR
  • GPB
  • AUD
  • JPY
  • DSLA ProtocolDSLA Protocol(DSLA)
  • lympoLympo(LYM)
  • YAM v2YAM v2(YAMV2)
  • PolkaBridgePolkaBridge(PBR)
  • CornichonCornichon(CORN)
  • StacyStacy(STACY)
  • RelevantRelevant(REL)
  • bitcoinBitcoin(BTC)
  • ethereumEthereum(ETH)