How to avoid development hell?

CoinTelegraph follows the development of an all-new blockchain from its inception to the mainnet and beyond through its series, Inside the Blockchain Developer’s Mind, written by Andrew Levine of Koinos Group.

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

At first glance, building a blockchain doesn’t sound that difficult. A blockchain is just a combination of established cryptographic primitives, which, if implemented correctly, allow the construction of a ledger with a verifiable history of transactions through a network. The more decentralized the network, the more reliable the history.

Blockchain “frameworks”

In an effort to make building new blockchains easier, other teams have released blockchain frameworks that, in theory, remove the need for developers to worry about building the blockchain themselves so that they can focus on everything. unique features they want to build into the blockchain. Cosmos, EOSIO and Polkadot’s Substrate are examples of such blockchain frameworks.

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

Related: In the mind of the blockchain developer: Proof-of-burn blockchain consensus

Truly for free and for general use

But we were surprised to find that none of the existing frameworks allowed us to create the kind of really numb user experience we wanted to bring to market. We didn’t just want to cut costs on a technical level, we wanted to enable developers to build applications that were free to use. They also lacked some other features that we thought were necessary to provide an acceptable developer experience.

The power of a general purpose blockchain does not come from the features that the blockchain engineers have built into the blockchain, but from the features that developers add to that blockchain as smart contracts. This goes doubly for a blockchain framework which should really be the most general blockchain imaginable, as the whole idea is to allow people to build any kind of blockchain they can think of. And yet the existing frameworks have not allowed us, one of the most experienced blockchain development teams, to build the blockchain we wanted to build in multiple ways.

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

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

Free developers

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

But to build that blockchain, we first needed a true general purpose blockchain framework that would not only allow us to build the blockchain of our dreams, but as a natural consequence of the most general purpose framework imaginable, which anyone can imagine. should enable them to build the blockchain of their dreams.

Koinos is that ultimate general purpose blockchain framework that will serve as the foundation for the ultimate infallible layer 1: Koinos mainnet. The Koinos Blockchain Framework (KBF) is designed to be the simplest blockchain imaginable, with only those cryptographic primitives needed to construct a blockchain and the appropriate “system calls” so that the widest range of behaviors can be added in-band (without a hard fork) by uploading a smart contract.

Infinite upgrade possibilities

The advantage of this design is its infinite upgradability, but the cost is that it becomes all the more important to get the system calls right. Missing a system call or designing it incorrectly would mean dealing with an otherwise avoidable hard fork. Because hard forks are so time-consuming, political and disruptive, they are the biggest factor limiting a blockchain’s ability to improve itself, which is ultimately felt by any developer whose application is built on such a platform.

Now we can see how both application and blockchain developers can get stuck in development hell: they work in programming languages ​​they don’t feel comfortable with, on platforms that force them to take fees and improve at a snail’s pace. Under these circumstances, even small changes have an incredible amount at stake, and we haven’t even considered those scenarios where millions, sometimes billions of dollars are at stake.

That’s development hell. As the core development team behind the Steem blockchain that was supposed to oversee 23 hard forks, we know this terrain like no other, which is why we were so committed to banishing it, well…to hell.

Building the Koinos Blockchain Framework from scratch with a brand new microservice architecture and getting it to launch version 1 and 2 of the testnet has been an incredible challenge. But integrating the feedback we got from those testnets, fixing the bugs they revealed, and finishing the all-important system calls was a whole different level. But we went through that development hell in hopes of making it so others never have to.

harbinger

Testnet v3 is therefore more than “just” a version of the testnet. It is the final version of the Koinos Blockchain Framework, so we will now refer to the testnet, not with a version number, but with the name: Harbinger. It is the culmination of nearly two years of working, identifying and implementing all the necessary system calls needed to give blockchain developers the ultimate level of freedom and their application developers to benefit from a platform that improves faster than any other platform. blockchain out there.

Of course, when you’re trying to solve a really important problem, a certain development hell is inevitable. You just want to make sure you’re not adopting technologies that unnecessarily increase the stakes and that the goal you’re pursuing is worth the cost.

For us, that goal is not only to save blockchain developers (ourselves included) from countless hours in developer hell, but also to leverage this new technology to build Koinos mainnet: the ultimate numb layer 1 to enable developers to build insanely awesome blockchain-based applications.

No more development hell

The KBF aims to eliminate the 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 that is exactly the position we are in now. While developing the blockchain framework has been incredibly challenging, now that it’s over, all it takes to complete the Koinos mainnet is just two smart contracts: one for our proof-of-burn consensus algorithm and the other for governance. .

Not only is writing smart contracts much easier than developing blockchain, but 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 that one of our community members has built. AssemblyScript not only produces much more efficient smart contracts than those written in C++ (which was a surprise), it makes smart contract development accessible to JavaScript developers.

Since the KBF turns any smart contract developer into a potential blockchain developer, it means that developing custom blockchains will now be accessible to JavaScript developers with even more languages, such as Rust.

If you’re interested in running Harbinger, we’ve made it insanely easy to: run a node so you can be up and running in under five minutes.

This article does not contain investment advice or recommendations. Every investment and trading move carries risks, and readers should do their own research when making a decision.

The views, thoughts and opinions expressed herein are those of the author only and do not necessarily reflect or represent the views and opinions of Coin-Crypto.

Andrew Levine is the CEO of Koinos Group, a team of industry veterans accelerating decentralization through accessible blockchain technology. Their base product is Koinos, an infallible and infinitely upgradable blockchain with universal language support.

Leave a Comment