This content originally appeared on DEV Community and was authored by Matt Angelosanto
Written by Chidume Nnamdi ✏️
Blockchain has revolutionized the way we see and do things on the internet. Many companies are switching to blockchain to increase transparency and immutability, reduce transaction costs, and eliminate the need for a middleman.
A blockchain network removes need for a centralized database because everyone in the network can see the transactions and also validate them. This creates trust and transparency between participants in the network.
A lot goes into the decision to switch to blockchain. Among the most fundamental and important considerations is selecting the right blockchain framework on which to run your enterprise.
There are too many blockchain development frameworks to explore in a single blog post. Instead, we’ll focus on six of the most popular and widely used frameworks in the blockchain development world:
- Ethereum
- Hyperledger Fabric
- Hyperledger Sawtooth
- EOSIO
- Corda
- Quorum
We’ll evaluate each for its consensus algorithms, ledger types, cryptocurrency, and smart contract support.
What is blockchain?
Blockchain is based on decentralization networking technology, just like a peer-to-peer network. Blockchain's decentralization works just like Napster: each party in the network is connected to each other. This is different from the normal client-server network you might be accustomed to. Each node in a blockchain network serves as both the client and the server.
In a blockchain network, a public database, ledger, or record is maintained and shared by the nodes in the network. This ledger contains transactions that happened in the network, and these transactions are verified by majority consensus in the network. Once a new transaction is verified and entered into the ledger, this ledger is broadcast to all the nodes in the network. This way, the nodes have the current ledger with the latest transactions.
It’s easy to see why companies in a wide range of industries are adopting blockchain technology to facilitate secure transactions of valuable assets, such as digital files, properties, currency, and much more.
Without further ado, let's explore six of the most popular frameworks for developing blockchain-powered apps. We'll highlight key features and break down strengths and weaknesses to help you make a more informed decision when selecting the right platform to develop your blockchain network.
1. Ethereum
Ethereum is the most popular and widely used blockchain development platform in the world. In fact, it is the very first blockchain development platform. Built in 2015, it introduced a revolutionary feature known as the smart contract.
A smart contract is a program that contains functions and states. Each smart contract runs on a specific address in the Ethereum blockchain. Because smart contracts are an autonomous type of account on Ethereum, they can send transactions and also have balance.
Another awesome feature of Ethereum is the Ethereum Virtual Machine (EVM). The virtual machine in EVM is a virtual computer on which Ehtereum accounts and smart contracts are run.
The EVM enables you to create decentralized apps (DApps) that run on Ethereum. The range of use cases for DApps is quickly expanding beyond the finance industry, stretching into fields as diverse as healthcare, logistics, real estate, the legal system, and many more.
Ethereum's smart contracts are written in Solidity language. Etheruem has a permissionless ledger type and is open for public use. Its consensus mechanism is proof of work, which is known to be quite slow.
Ethereum has a cryptocurrency called Ether. Ether is used to pay for creating and initializing a transaction in the Ethereum blockchain.
Ledger Type | Consensus | Cryptocurrency |
---|---|---|
Permissionless | PoW | Ether |
2. Hyperlegder Fabric
Hyperledger Fabric is a permissioned distributed ledger framework developed by the Hyperledger Hub. The Hyperledger Hub is a project developed by the Linux Foundation for the open development of both centralized and decentralized blockchain platforms.
Fabric is aimed at enterprises that want to use, integrate, or build blockchain-based solutions and applications.
Hyperledger Fabric is similar to Ethereum for not only its permissioned ledger type but also its modular architecture. This modularity gives Fabric a plug-and-play kind of interface where you can select your preferred services, such as the consensus algorithm, smart contracts types, etc.
Hyperledger Fabric also supports smart contracts. Smart contracts on Fabric can be written in Go, Java, and JavaScript.
If you encounter any issues that aren’t covered by the docs, the Hyperledger Fabric team has made itself available to answer your questions.
Ledger Type | Consensus | Cryptocurrency |
---|---|---|
Permissionless | Pluggable Framework | None |
3. Hyperledger Sawtooth
Hyperledger Sawtooth is another modular blockchain platform from the Hyperledger Hub designed for developing distributed ledger applications and networks. Hyperledger Sawtooth was launched by the Linux Foundation and is now maintained by IBM and Digital Assets.
Enterprises use Hyperledger Sawtooth to build scalable and robust systems and to deploy highly secured blockchain solutions. Just like Fabric and Ethereum, Hyperledger Sawtooth has a permissioned ledger type.
Hyperledger Sawtooth has a range of advanced features and integrations, including:
- An integration project called Seth (Sawtooth-Ethereum), which makes it possible to deploy Etheruem smart contracts on Hyperledger Sawtooth
- Parallel processing, which facilitates faster transaction processing compared to other blockchain platforms
- A dynamic, undefined consensus protocol, which means you can change the consensus algorithm anytime you want
Speaking of consensus algorithms, Hyperledger Sawtooth has many, including:
- PoET (proof of elapsed time), which relies on secure instruction execution to achieve the scaling benefits of a Nakamoto-style consensus algorithm without the power consumption drawbacks of the proof of work algorithm
- PBFT (practical Byzantine fault tolerance), a voting-based algorithm that uses dynamic network membership, regular view changes, and block catch-up procedure features to vote for an agreement among the participants in the network
- Raft, a consensus engine that utilizes and is based on Raft. This consensus uses the logs of relatively independent subproblems to agree on a value and make a decision
View Hyperledger Sawtooth source code is available on GitHub.
Ledger Type | Consensus | Cryptocurrency |
---|---|---|
Permissionless | Pluggable Framework | None |
4. EOSIO
EOSIO is a highly performant, open-source blockchain platform launched in 2018 by Block.one. EOSIO offers a fast, reliable, and highly secure platform for building blockchain applications.
EOSIO allows you to deploy smart contracts on its existing networks. You can also build your own EOSIO networks and deploy smart contracts on them.
EOSIO smart contracts are written in the C++ programming language. To learn how to write and deploy smart contracts on EOSIO, see the official docs.
Though not as popular as stalwarts like Ethereum, EOSIO has some unique selling points. Developers choose EOSIO for their blockchain projects because it is:
- Fast and efficient
- Highly configurable
- Highly secure
- Highly compatible
- Developer-focused
As a cherry on top, the EOSIO website does a great job of keeping the community abreast of the latest news and events.
Ledger Type | Consensus | Cryptocurrency |
---|---|---|
Permissioned | Delegated Proof of Stake | None |
5. Corda
Corda is an open-source blockchain platform built by the R3 Consortium in 2015. Corda was initially designed for financial institutions, but it has since been expanded to serve additional fields such as healthcare, insurance, digital assets, and finance. The next-gen blockchain framework bills itself as “the DLT platform of choice for financial services and beyond.”
Corda has a permission ledger type and supports the smart contract feature, meaning you can write and deploy smart contracts on the Corda blockchain. Corda smart contracts can either be written in Java or Kotlin.
The platform has no mining feature, so part of the transactions is never seen in most nodes. In other words, Corda transactions are not open for all nodes. There are no cryptocurrencies or tokens in Corda.
Corda has a pluggable consensus, which means it has many consensus algorithms to choose from.
Corda has validity consensus and uniqueness consensus:
- Validity consensus checks that the transaction is accepted by the contracts of every state and inputs and that the transaction has all the required signatures
- Unique consensus agrees to a value if the inputs to a transaction are unique and have not been used in other transactions
Ledger Type | Consensus | Cryptocurrency |
---|---|---|
Permissioned | Delegated Proof of Stake | None |
6. Quorum
Quorum is an open-source blockchain platform based on Ethereum. Built around 2016, it was designed to serve the finance industry and enable enterprises to “leveral Ethereum for their high-value blockchain applications.”
Recently, Quorum was acquired by ConsenSys from JP Morgan. Many companies trust Quorum and have adopted it in their business, including Microsft, JP Morgan, Covantis, South African Reserve Bank, SiaChain, Komgo, and more.
Quorum has support for enterprises that want to adopt the blockchain platform for their business. It has a permissioned ledger type but also allows for customizations based on the client’s need. In addition, Quorum supports both public and private networks as well as smart contracts.
Just like in Ethereum, smart contracts in Quorum are written in Solidity, making it very easy to switch from Ethereum to Quorum. The consensus algorithm of Quorum is voting-based; it agrees to a transaction and block depending on the number of votes the transaction and block have from the nodes.
For more information on how to get started using the Quorum blockchain platform, see the official developer docs.
Ledger Type | Consensus | Cryptocurrency |
---|---|---|
Permissioned | Voting | None |
Conclusion
There are many blockchain development frameworks available, but the ones listed here are the most popular in the world.
In this guide, we introduced the concept of blockchain, described how it’s changing the world as we know it, and listed the most widely used blockchain development platforms. We evaluated each platform for its strengths and weaknesses, reviewed common use cases associated with each, and examined the supported consensus algorithms, ledger types, and cryptocurrencies.
Blockchain is a complex topic to wrap your head around, especially with all the various platforms available for developing blockchain-based apps. The best way to learn is to start with the basics, discover how they work under the hood, and build from there. Keep your eye on this space for more blockchain content!
LogRocket: Full visibility into your web apps
LogRocket is a frontend application monitoring solution that lets you replay problems as if they happened in your own browser. Instead of guessing why errors happen, or asking users for screenshots and log dumps, LogRocket lets you replay the session to quickly understand what went wrong. It works perfectly with any app, regardless of framework, and has plugins to log additional context from Redux, Vuex, and @ngrx /store.
In addition to logging Redux actions and state, LogRocket records console logs, JavaScript errors, stacktraces, network requests/responses with headers + bodies, browser metadata, and custom logs. It also instruments the DOM to record the HTML and CSS on the page, recreating pixel-perfect videos of even the most complex single-page apps.
This content originally appeared on DEV Community and was authored by Matt Angelosanto
Matt Angelosanto | Sciencx (2021-10-12T17:11:09+00:00) Top 6 blockchain development frameworks. Retrieved from https://www.scien.cx/2021/10/12/top-6-blockchain-development-frameworks/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.