Hyperledger Besu — Getting Started: Part 1

Aditya Joshi
Coinmonks
4 min readMay 31, 2020

--

I have been working with various blockchain framework and experimenting with them. I have worked with both public and private permissioned networks blockchain and found that hyperledger besu is what I was looking from a long time as an alternative to ethereum. Besu allows you to set up a private and public blockchain network.

TL DR: You can find Part 2 here.

What is Hyperledger Besu?

Hyperledger Besu is an open-source Ethereum client developed under the Apache 2.0 license and written in Java. It can be run on the Ethereum public network or on private permissioned networks, as well as test networks such as Rinkeby, Ropsten, and Görli. Hyperledger Besu includes several consensus algorithms including PoW, PoA, and IBFT, and has comprehensive permissioning schemes designed specifically for uses in a consortium environment.

Hyperledger Besu, a Java-based Ethereum client formerly known as Pantheon, is the first blockchain project submitted to Hyperledger that can operate on a public blockchain. Besu represents the growing interest of enterprises to build both permissioned and public network use cases for their applications.

Hyperledger Besu’s features

  • The Ethereum Virtual Machine (EVM): The EVM is the Turing complete virtual machine that allows the deployment and execution of smart contracts via transactions within an Ethereum blockchain.
  • Consensus Algorithms: Hyperledger Besu implements various consensus algorithms that are involved in transaction validation, block validation, and block production (i.e., mining in Proof of Work). They includes Proof of Authority (IBFT 2.0, Clique) and Proof of Work (Ethash).
  • Storage: Hyperledger Besu uses a RocksDB key-value database to persist chain data locally. This data is divided into a few sub-categories:
  • Blockchain: Blockchain data is composed of block headers that form the “chain” of data that is used to cryptographically verify blockchain state; block bodies that contain the list of ordered transactions included in each block, and transaction receipts that contain metadata related to transaction execution including transaction logs.
  • World State: Every block header references a world state via a stateRoot hash. The world state is a mapping from addresses to accounts. Externally owned accounts contain an ether balance, while smart contract accounts additionally contain executable code and storage.
  • P2P networking: Hyperledger Besu implements Ethereum’s devp2p network protocols for inter-client communication and an additional sub-protocol for IBFT2:
  • User-facing APIs: Hyperledger Besu provides mainnet Ethereum and EEA JSON-RPC APIs over HTTP and WebSocket protocols as well as a GraphQL API.
  • Monitoring: Hyperledger Besu allows you to monitor node and network performance. Node performance is monitored using Prometheus or the debug_metrics JSON-RPC API method. Network Performance is monitored with Alethio tools such as Block Explorer and EthStats Network Monitor.
  • Privacy: Privacy in Hyperledger Besu refers to the ability to keep transactions private between the involved parties. Other parties cannot access the transaction content, sending party, or list of participating parties. Besu uses a Private Transaction Manager to implement privacy.
  • Permissioning: A permissioned network allows only specified nodes and accounts to participate by enabling node permissioning and/or account permissioning on the network.

Monitering Tools for besu

  1. Grafana Dashboard
grafana dashboard for besu network

2. Prometheus Dashboard

Prometheus Dashboard

3. Block Explorer

ethstats- blockchain explorer

I have planned up many things related to besu and will share those in upcoming articles. If you found this helpful please hit the clap button. You can also follow me

or LinkedIn. You can find me on GitHub? If that’s too social for you, just drop a mail to adityaprakashjoshi1@gmail.com if you wish to talk tech with me.

Have a nice day!

Join Coinmonks Telegram group and learn about crypto trading and investing

Also, Read

Get Best Software Deals Directly In Your Inbox

--

--

Aditya Joshi
Coinmonks

I am a Software Engineer @Walmart and instructor @Udemy, working on Blockchain, and Kubernetes. Get in touch: linktr.ee/adityajoshi12