Business

How to avoid development hell

Cointelegraph follows the development of an entirely new blockchain from inception to mainnet and beyond through its Inside the Blockchain Developer’s Mind series, written by Andrew Levin the Koinos group.

We recently released the third and final version of the Koinos testnet, which is why I want to talk about something that few projects like to talk about: building blockchains development hell. In this article I will explain why and how other developers can avoid getting stuck in it.

At first glance, building a blockchain does not sound that difficult. A blockchain is just a combination of well-established cryptographic primitives that, when properly implemented, allow the construction of a ledger that contains an verifiable history of transactions through a network. The more decentralized the network, the more trustworthy the history.

blank

Blockchain “Framework”

In an effort to simplify building new blockchains, other teams have released blockchain “frameworks,” which should theoretically save developers from having to worry about building the blockchain itself, so they can focus on the unique features they provide want to install the blockchain. Polkadot’s Cosmos, EOSIO, and Substrate are examples of such blockchain frameworks.

When our team stopped working on Steem (the world’s first royalty-free blockchain), our original intention was to use an existing blockchain framework to build a blockchain that is as accessible as possible. We had spent four years refining Steem’s royalty-free design and concluded that by porting this solution to an existing blockchain framework, we could, in a relatively short period of time, deliver a blockchain that was far more accessible than any other Blockchain.

Related: Inside the blockchain developer’s mind: Consensus on proof of blockchain burning

Really free of charge and universally usable

But we were surprised to find that none of the existing frameworks allowed us to create the kind of truly royalty-free user experience that we wanted to bring to market. Not only did we want to eliminate fees at a technical level, we wanted to enable developers to create applications that are free to use. They also lacked a number of other features that we felt were necessary to provide an acceptable developer experience.

The power of a general-purpose blockchain comes not from the features that the blockchain engineers build into the blockchain, but from the features that developers add to that blockchain as smart contracts. This is doubly true for a blockchain framework that ought to be the best General purpose blockchain imaginable as the whole idea is to allow people to build any type of blockchain they can imagine. And yet the existing frameworks could not empower us, one of the most experienced blockchain development teams, in our attempts to build the blockchain we wanted to build in many ways.

The existing frameworks not only made it impossible for developers to create free-to-use applications, they also forced them to learn new and often difficult programming languages, and dramatically limited the speed at which both applications and the blockchain itself could improve .

Related: In the Mind of Blockchain Developers: Creating a Free-to-Use Social DApp

free developers

We wanted to build a blockchain that would allow developers to build insanely awesome applications that ordinary people would love to use. This allowed developers to work in the programming languages ​​they already knew and loved (what we call “universal language support”); This allowed their applications (and the blockchain itself) to evolve rapidly; and most importantly, allowed them to create applications that were free to use.

But to build this Blockchain, we first needed a truly universal blockchain framework Not only would that allow us to build the blockchain of our dreams, but as a natural consequence of the most general framework imaginable, it should allow anyone to build the blockchain of their dreams Dreams.

Koinos is the ultimate all-purpose blockchain framework that will serve as the foundation for the ultimate fee-free Layer 1: Koinos Mainnet. The Koinos Blockchain Framework (KBF) is designed to be the simplest Blockchain imaginable that contains only the cryptographic primitives needed to build a blockchain and the right “system calls” to allow the widest range of behaviors to be added in-band (without a hard fork) by uploading a smart contract.

blank

Infinite upgradeability

The benefit of this design is unlimited extensibility, but the price is that it’s even more important to get the system calls right. Missing or miscrafting a system call would mean dealing with an otherwise avoidable hard fork. Because hard forks are so time-consuming, political, and disruptive, they are the single largest factor limiting a blockchain’s ability to self-improve, which ultimately affects every single developer whose application is built on such a platform.

Now we can see how both application and blockchain developers can be trapped in development hell: working in programming languages ​​they are unfamiliar with, on platforms that force them to build in fees, and that are improving at a crawl. Under these conditions, the stakes are incredibly high even with minor changes, and we haven’t even considered those scenarios where millions, sometimes billions of dollars are at stake.

This is development hell. As the core development team behind the Steem blockchain that had to oversee 23 hard forks, we know this terrain better than almost anyone, which is why we’ve campaigned so hard to banish it, well…to Hell.

It was an incredible challenge to build the Koinos Blockchain Framework from scratch with a completely new type of microservices architecture and bring it to the point where we could launch versions 1 and 2 of the testnet. But integrating the feedback we got from those testnets, fixing the bugs they uncovered, and finalizing the all-important system calls was a whole other level. But we’ve been through this development hell hoping to do it in a way that others never have to.

harbinger

Testnet v3 is more than “just another” version of the testnet. It’s the final version of the Koinos Blockchain Framework, which is why we don’t refer to the testnet with a version number, but with the name: Harbinger. It is the culmination of almost two years of work, identifying and implementing all the necessary system calls required to give blockchain developers the ultimate level of freedom and allow their application developers to benefit from a platform that is evolving faster than any other improve blockchain out there.

Of course, whenever you’re trying to solve a really important problem, some degree of development hell is inevitable. You just want to make sure you’re not using technology that will unnecessarily up the ante and that the goal you’re aiming for is worth the cost.

For us, that goal is not only to save blockchain developers (including ourselves) countless hours in developer hell, but also to use this new technology to build the Koinos mainnet: the ultimate zero-fee Tier 1 that developers go insane with build great blockchain-based applications.

No more development hell

The KBF aims to eliminate development hell by allowing developers to build any blockchain they can imagine simply by writing smart contracts, which is infinitely easier than working in the blockchain code itself. And this is exactly the situation we are in now. While the development of the blockchain framework has been incredibly challenging, now that it’s over it only takes two to complete the Koinos mainnet Smart Contracts: one for our proof-of-burn consensus algorithm and the other for governance.

Not only is writing smart contracts much easier than blockchain development, it also means that blockchain developers can now take advantage of the ever-expanding tools available to smart contract developers, such as the AssemblyScript SDK, which is one developed by our community members. Not only does AssemblyScript generate far more efficient smart contracts than those written in C++ (that was a surprise), it makes smart contract development accessible to JavaScript developers.

With the KBF turning any smart contract developer into a potential blockchain developer, it means that custom blockchain development will now be accessible to JavaScript developers, with even more languages ​​like Rust to come.

If you’re interested in running Harbinger, we’ve made it insanely easy Run a node so you can be up and running in less than five minutes.

This article does not contain any investment advice or recommendation. Every investment and trading move involves risk and readers should do their own research when making a decision.

The views, thoughts, and opinions expressed herein are solely those of the author and do not necessarily reflect or represent the views and opinions of Cointelegraph.

Andrew Levin is CEO of Koinos Group, a team of industry veterans accelerating decentralization through accessible blockchain technology. Their core product is Koinos, a royalty-free and infinitely extensible blockchain with universal language support.