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

Cointelegraph is following the development of an entirely new blockchain from inception to mainnet and beyond through its series, Inside the Blockchain Developer's Mind, written by Andrew Levine of the 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 on it.

At first glance, building a blockchain doesn't seem that difficult. A blockchain is just a combination of well-established cryptographic primitives that, when properly implemented, allow the construction of a ledger containing a verifiable history of transactions by a network. The more decentralized the network, the more reliable the story.

Blockchain "Frames"

In an effort to make it easier to build new blockchains, other teams have released blockchain “frameworks” that should, in theory, eliminate the need for developers to worry about building the blockchain itself so they can focus. on the unique features they want to incorporate. the Cosmos blockchain, EOSIO, and Polkadot's Substrate are examples of such blockchain frameworks.

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

Related: Inside the Blockchain Developer's Mind: Burn Proof Blockchain Consensus

Truly free and widely used

But we were surprised to find that none of the existing frameworks allowed us to create the kind of truly simple user experience we were looking to bring to market. We didn't just want to remove fees on a technical level, we wanted to empower developers to build apps that are free to use.. They also lacked a number of other features that we felt were necessary to deliver a decent developer experience.

The power of a general-purpose blockchain comes not from the features that 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 really should be the most general purpose blockchain imaginable, as the idea is to allow people to build any type of blockchain they can imagine. And yet, existing frameworks failed to empower us, one of the most experienced blockchain development teams, in our attempts to build the blockchain we wanted to build in multiple ways..

Existing frameworks not only made it impossible for developers to create free-to-use applications, they also forced developers to learn new and often difficult programming languages ​​and severely restricted the speed at which they could improve both applications and functionality. own blockchain.

Related: Inside the mind of blockchain developers: Building a free-to-use social DApp

Freeing the developers

We wanted to build a blockchain that freed up developers to build insanely cool apps that everyday people would love to use. That allowed developers to work in the programming languages ​​they already knew and loved (what we call "universal language support"); that allowed its applications (and the blockchain itself) to evolve rapidly; and, more importantly, it allowed them to create applications that are free to use.

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

Koinos is the latest general-purpose blockchain framework that will serve as the foundation for the ultimate layer 1: the Koinos mainnet. The Koinos Blockchain Framework (KBF) is designed to be the simplest blockchain imaginable, containing only the cryptographic primitives necessary to build a blockchain and the correct "system calls" to allow the widest range of in-band behavior to be added (without a hard fork) via the upload of a smart contract.

Infinite upgradeability

The benefit of this design is infinite upgradeability, but the cost is that it makes correct system calls even more important. Missing a system call or designing it incorrectly would mean having to deal 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, which is ultimately felt by every developer whose app is built on that platform.

We can now see how application and blockchain developers can get trapped in development hell: working in programming languages ​​they aren't comfortable with, on platforms that force them to incorporate fees, and improve at a crawl. Under these conditions, even minor changes have a lot at stake, and we haven't even considered those scenarios where millions, sometimes billions, of dollars are at risk.

That's 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 were so committed to banishing it to, well... hell.

Building the Koinos Blockchain Framework from the ground up with a completely new microservice architecture and getting it to the point where we could release testnet versions 1 and 2 was incredibly challenging. But integrating the feedback we received from those testnets, fixing the bugs they exposed, and ending the most important system calls was a whole other level. But we went through that development hell hoping to make it so that others never have to.

Herald

Testnet v3 is therefore more than "just another" version of testnet. It is the final version of the Koinos Blockchain Framework, so we will now refer to the testnet, not by a version number, but by the name: Harbinger. It is the culmination of nearly two years of work, identifying and implementing all the necessary system calls to give blockchain developers the highest level of freedom and allow application developers to benefit from a platform that is improving at a faster rate. faster than any other. blockchain out there.

Of course, any time you're trying to solve a really important problem, some level of development is inevitable. You just want to make sure you're not adopting technologies that raise the stakes unnecessarily and that the goal you're fighting for is worth it.

For us, that goal is not only to prevent blockchain developers (ourselves included) from spending countless hours in developer hell, but also to leverage this new technology to create the Koinos mainnet - the ultimate layer 1 to empower developers to build insanely cool applications based on the blockchain.

No more development hell

The KBF aims to take the hell out of development by allowing developers to build any blockchain they can imagine simply by writing smart contracts, which is infinitely easier than working on the blockchain code itself. And that is exactly the position we find ourselves in now. While developing the blockchain framework was incredibly challenging, now that it's finished, all it takes to complete the Koinos mainnet is just two smart contracts: one for our proof-of-record consensus algorithm and the other for governance.

Not only is it much simpler to write smart contracts than blockchain development, but this also means that blockchain developers can now take advantage of the ever-expanding tools that are available to smart contract developers like the self-created AssemblyScript SDK. of the members of our community. AssemblyScript not only produces much more efficient smart contracts than those written in C++ (which was a surprise), but also makes smart contract development accessible to JavaScript developers.

Since KBF turns any smart contract developer into a potential blockchain developer, this means that custom blockchain development will now be accessible to JavaScript developers with even more languages ​​to come, such as Rust.

If you're interested in running Harbinger, we've made it incredibly easy to run a node so you can be up and running in less than five minutes.

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

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

Andrew Levine is the CEO of the Koinos Group, a team of industry veterans accelerating decentralization through accessible blockchain technology. Its core product is Koinos, a free, infinitely upgradable blockchain with universal language support.