BNB Chain, Cardano, Solana: Ethereum Killers?
How well do BNB Chain, Cardano, and Solana stack up in terms of how easy it is to develop DApps? Here's a brief analysis.
In part 1, we propose that what will make a piece of technology popular depends not on the end-user experience, but rather the developer experience.
Broadly speaking, we can define a good developer experience as one where it’s easy to learn the technology of the blockchain in question.
We can take a look at how well the documentation is written, what programming languages are used for building the smart contracts, and other learning resources that have been provided by the core network developers.
This can be very opinionated, as developers have varying degrees of experience and expectations. But, we can try to take a look at these three blockchains from a fresh lens.
For now, we don’t really care about its price performance, token distribution, and number of DApps built on top of it.
Analysing BNB Chain by developer experience
BNB Chain was originally called Binance Smart Chain, a decentralised blockchain network developed by the exchange company. BNB stands for “Build and Build”, and it was perhaps renamed to give it a unique identity apart from the centralised exchange Binance.
It was launched in September 2020 as a faster alternative to Ethereum, although any programme (smart contract) that runs on the BNB Chain can also run on Ethereum. In other words, BNB Chain is compatible with the Ethereum Virtual Machine (EVM), the Ethereum software that processes smart contracts.
BNB Chain is really just Binance (Beacon) Chain and Finance Smart Chain layered on top of each other. Apart from these two blockchains, BNB Chain is fitted with several new technologies — zkBNB, BNB Sidechain, and BNB Greenfield.
zkBNB is used to help scale up the BNB Chain to be able to process more transactions. BNB Sidechain is a feature that allows developers to create and connect their own custom blockchain onto the main BNB Chain. BNB Greenfield is the blockchain that manages data storage to power a “decentralised data economy” for the BNB ecosystem.
BNB Chain developer experience
Overall, the documentation for BNB Chain is well-written. However, when it comes to topics such as accounts, transactions, blocks, gas fees, and even EVM, the BNB Chain documentation lacked these basic concepts that the Ethereum documentation thoroughly covers.
Indeed, BNB Chain has so many things to offer, such as the features mentioned above (e.g. zkBNB, BNB Sidechains).
BNB Chain seems to somewhat inherit and extend the core features of Ethereum. It seems fair to think that BNB Chain developers should have had some experience building on Ethereum.
BNB Chain coding tutorials
BNB Chain offers a hands-on step-by-step tutorial to teach new developers on how to code, compile, and deploy smart contracts onto the Binance Smart Chain layer. There are several ways to do this:
The great thing about using Remix is that developers can get straight to coding Solidity and having the code compiled and deployed, all in one browser window. Of course, in this tutorial, Remix uses a test network and that the BNB tokens used are “simulated” tokens.
This model of hands-on learning on the browser is called a playground, because it lets developers have a go and have a feel of the Solidity language if they’re new to it. Of course, most smart contract developments are done with a local machine.
With over 1.5 million downloads, Truffle can easily help developers set up the Solidity compiler and the migration (or deployment) mechanism on developers’ local machines using their favourite code editors.
The core developers of BNB Chain seem to prefer to introduce their technology through a more hands-on approach, giving developers a complete tutorial from a simple Hello World programme to making their own BEP-20 token.
Analysing Cardano by developer experience
Cardano, founded by one of Ethereum’s co-founders Charles Hoskinson, has been developing at snail-pace due to its focus on security, and backing its technology by academic research.
In 2022, it enabled its smart contract functionality — three years after its launch. The reason is that Cardano’s development community has the same development philosophy as a space research agency.
It primarily focuses on robustness and security, although the speed of the blockchain itself exceeds that of Ethereum, and it has used its version of Proof of Stake since Cardano’s inception.
The focus on security is evident in that the blockchain uses the UTXO model of accounting (like Bitcoin) to verify precisely the amount of digital assets in circulation.
The blockchain itself is written in Haskell — a functional language that is extensively used in the banking industry. Even the smart contract uses a Haskell-derived programming language called Plutus.
From a quick glance, it appears as if Cardano is the exact opposite of BNB Chain, by not using popular languages and frameworks.
Related: What is Proof of Stake (PoS)?
Cardano developer experience
New developers to Cardano may be surprised that they don’t really need to make a smart contract to issue their own custom token on the Cardano blockchain.
On Cardano, all tokens are “native tokens“, with the same level of mobility as ADA, the transaction fee token. What this means is, Cardano tokens can be sent directly from a wallet without calling functions in a smart contract to do the sending action for the user.
Of course, from an end-user perspective, it feels no different than sending ERC-20 tokens from an Ethereum wallet. For developers, this difference can be significant as they can reduce their work in writing smart contracts.
Cardano also has a sidechain toolkit to create Cardano-style custom blockchains that connect to the mainnet. One of Cardano’s side chains is EMV-compatible.
This means an Ethereum developer who’d like to try out deploying their app on Cardano could simply migrate their Solidity code onto Cardano EVM sidechain, and it’ll be able to interact with assets on the mainnet.
Learning Cardano’s Plutus
Developers will need to know Haskell to write smart contracts in Plutus, and unfortunately there’s currently no way around it.
The Cardano community, however, has introduced a variety of ways of learning the language through something like a transpiler. A transpiler converts code from one language’s rules and structure for that of another language.
For example, Python developers can use the py2hs library to essentially code in Python, which will then transpile into Plutus. Eopsin is another python library that can help developers code Cardano smart contracts in Python, however it is currently a work in progress.
Python is one of the most popular programming languages as it is a beginner-friendly language that isn’t so strict with its syntax rules. Here is what a Python code looks like with the eopsin library.
This chart also shows how popular Python is compared to other languages.
Incredibly, the community feels confident that even non-coders are able to produce some domain-specific Plutus smart contracts, using the Marlowe Playground.
Anyone can use the visual-rich application to manage the flow of logic of their financial smart contract. It does look like MIT’s Scratch, a block-based IDE designed for kids.
Aiken is another programming language that has the syntax and workings of Rust, which is a language that many systems engineers like to use to design things such as operating systems and networks.
However, at the end of the day, Cardano has a much different “personality” compared to other blockchains.
It’s not one to “move fast and break things” (Mark Zuckerberg won’t like to work with the Cardano Foundation).
Cardano is cautious, and it uses the most secure languages it can find — Haskell.
Analysing Solana by developer experience
Solana’s architecture is different from Ethereum, BNB Chain, and Cardano in terms of how its smart contracts work. Solana smart contracts don’t store data, only logic.
This is a crucial difference that enables Solana to run at 4000 transactions per seconds with 500 ms finality.
On EVM-based blockchains, smart contracts run one at a time, because each one contains data on the final account balances involved in the contract once run.
If the smart contracts were to run simultaneously on Ethereum, there could be conflicts such as double spending.
On Solana, smart contracts are technically called programmes, which only contains instructions on how the account balances will change once run, but doesn’t know the final account balances.
This makes Solana programmes stateless, which means developers don’t have to manage states of data on the smart contract, which would otherwise add an extra layer of complexity.
However, states (data) can be stored in Accounts with an expiry time. This expiration is determined by how much SOL is stored in it as a rental fee to validators running the smart contract.
This makes a lot of sense given that most contracts have an expiration time, unless it is like a title deed, like a token or NFT which represents permanent ownership.
Solana developer experience
Solana uses the Rust programming language. In some ways, Rust has a unique syntax, which means new developers may need to get used to how the code is set up, if they come from a Solidity background.
Rust is also growing in popularity in 2023, which means in the near future, we’d likely see a great abundance of Rust developers and potentially an increase in Solana developers as well.
The reason why Rust is the language of choice of the Solana Labs core team is because Rust is built for developers who care about performance.
Rust has several features that give it power, for example, it allows developers to both automatically manage memory use, or to manually control it.
With Rust as the coding language for performance, Solana developers are given the tools to build performant DApps.
Learning to build Solana DApps
To learn to build Solana applications, developers can use the Solana Playground.
However, Solana’s transaction fee costs a mere fraction of a fraction of a dollar, which means new developers can try developing a real Solana application on the blockchain, gaining a low-risk immersive development experience.
Those who are new to Rust can learn the language quickly, as there is an abundance of resources online.
There is even a step-by-step video course by Josh’s Devbox on Youtube, for building a Hello World programme on Solana.
Solana Labs also provides additional resources, particularly those coming from a web developer background, such as this 7-module course.
From the perspective of a DApp developer, BNB Chain is the closest in resemblance to Ethereum while Cardano offers an entirely different experience and may not be suitable for new developers.
Given that it’s easy to learn both Python and Rust, the number of Solana developers may potentially grow in the near future. This is also aided by the fact that Solana among others offer the cheapest transaction fees for both developers and users.
Analysing these “Ethereum Killers” from a fresh perspective can offer new insights into how popular each network will be in the future.
If this interests you, please do further research before making any investment decisions.
Further reading: Explore more topics on all things crypto in our learning hub.
Make sure to follow our Twitter, Instagram, and YouTube channel to stay up-to-date with Easy Crypto!
Also, don’t forget to subscribe to our monthly newsletter to have the latest crypto insights, news, and updates delivered to our inbox.
Disclaimer: Information is current as at the date of publication. This is general information only and is not intended to be advice. Crypto is volatile, carries risk and the value can go up and down. Past performance is not an indicator of future returns. Please do your own research.
Last updated March 8, 2023