How to avoid development hell

189
SHARES
1.5k
VIEWS

Related articles


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

We lately launched the third and ultimate model of the Koinos testnet, which is why I wish to speak about one thing few initiatives like to speak about: Constructing blockchains is growth 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 laborious. A blockchain is only a mixture of well-established cryptographic primitives, which, when correctly applied, enable 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 will deal with no matter distinctive options they wish to construct into the blockchain. Cosmos, EOSIO and Polkadot’s Substrate are examples of such blockchain frameworks.

When our crew stopped engaged on Steem (the world’s first fee-less blockchain), our authentic intention was to leverage an current 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 current blockchain framework, we might ship a blockchain that was way more accessible than every other blockchain in comparatively little time.

Associated: Inside the blockchain developer’s mind: Proof-of-burn blockchain consensus

Actually fee-less and general-purpose

However we have been stunned to seek out that not one of the current frameworks allowed us to create the sort of actually feeless person expertise we have been trying to deliver to the market. We didn’t simply wish to take away charges on a technical degree, we needed to empower builders to construct functions that have been free to make use of. Additionally they lacked numerous different options we believed have been required to ship an appropriate 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 probably the most general-purpose blockchain possible because the complete thought is to permit folks to construct any sort of blockchain they will think about. And but, the prevailing frameworks did not empower us, one of the skilled blockchain growth groups, in our makes an attempt to construct the blockchain we needed to construct in a number of methods.

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

Associated: Inside the blockchain developers’ mind: Building a free-to-use social DApp

Releasing builders

We needed to construct a blockchain that will free builders to construct insanely nice functions 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 assist”); that allowed their functions (and the blockchain itself) to quickly evolve; and, most significantly, it allowed them to construct functions that have been free to make use of.

However so as to construct that blockchain we first wanted a very general-purpose blockchain framework that will not solely enable us to construct the blockchain of our goals however as a pure consequence of being probably the most general-purpose framework possible, ought to enable anybody to construct the blockchain of their goals.

Koinos is that final general-purpose blockchain framework that may function the inspiration for the final word feeless layer 1: Koinos mainnet. The Koinos Blockchain Framework (KBF) is designed to be the only blockchain possible, containing solely these cryptographic primitives essential to assemble a blockchain and the suitable “system calls” to permit for the widest vary of behaviors to be added in-band (with out a laborious fork) by means of 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 vital. Lacking a system name or designing it incorrectly would imply having to take care of an in any other case avoidable laborious fork. As a result of laborious forks are so time-consuming, political and disruptive, they’re the one largest issue limiting a blockchain’s potential to enhance itself, which is in the end felt by each single developer whose utility is constructed on such a platform.

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

That’s growth hell. Because the core growth crew behind the Steem blockchain that needed to oversee 23 laborious forks, we all know this terrain higher than virtually anybody else, which is why we have 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 have been extremely difficult. However integrating the suggestions we acquired from these testnets, fixing the bugs they uncovered, and finalizing the all-important system calls have been an entire different degree. However we went by means of that growth hell with the hopes of constructing it in order that others received’t ever must.

Harbinger

Testnet v3 is, subsequently, greater than “simply one other” model of the testnet. It’s the ultimate model of the Koinos Blockchain Framework, which is why we are going to now confer with the testnet, not by a model quantity, however by the identify: Harbinger. It’s the fruits of practically two years of working, figuring out and implementing all the required system calls wanted to provide blockchain builders the final word degree of freedom and permit their utility builders to profit from a platform that’s bettering at a extra speedy price than every other blockchain on the market.

After all, everytime you’re attempting to unravel a extremely vital drawback, some degree of growth hell is inevitable. You simply wish to just remember to don’t undertake applied sciences that increase the stakes unnecessarily and that the purpose you’re striving for is value the price.

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

No extra growth hell

The KBF goals to eradicate growth hell by permitting builders to construct any blockchain they will 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 growth, however this additionally implies that blockchain builders now get to make the most of the ever-expanding instruments which might be accessible to good contract builders just like the AssemblyScript SDK one in all our neighborhood members constructed. AssemblyScript doesn’t simply produce way more environment friendly good contracts than these written in C++ (that was a shock), it makes good contract growth accessible to JavaScript builders.

For the reason that 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 come back, reminiscent of Rust.

If you happen to’re curious about working Harbinger, we’ve made it insanely straightforward to run a node so that you will be up and working in underneath 5 minutes.

This text doesn’t include funding recommendation or suggestions. Each funding and buying and selling transfer includes danger, and readers ought to conduct their very own analysis when making a call.

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

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