Hyperledger Besu Node - New Client for Ethereum
18th December 2020
Nodes form the backbone of blockchain networks. The robustness and working capacity of a distributed ledger depend on the existence of multiple independently managed and geographically deployed full nodes. Validators validate transactions and help expand blocks on the network. Any service using the Ethereum network from Dapps to mining pools and even exchanges depends on the infrastructure of the node.
What is Hyperledger Besu?
In 2019, Hyperledger Besu became the first blockchain client compatible with the public network and is a project of the Hyperledger Foundation. It is positioned as a platform for open development and deployment. OpenEthereum (formerly Parity-Ethereum) and Multi-Geth offered all ETC node operators to switch to a new client.
Hyperledger Besu is an open-source Ethereum client developed under the Apache 2.0 license written in Java formerly known as Pantheon. The node can be run on the public ETH network, on private allowed networks, as well as on Rinkeby, Ropsten, and Görli. Node works based on several consensus algorithms, including proof of work (PoW). Reputation-based PoA and IBFT validator.
What is an Ethereum client?
Ethereum client is software that implements the Ethereum protocol. Hyperledger Besu is one of several of his clients.
- A runtime environment for processing transactions on the Ethereum blockchain;
- Storage of data related to the execution of the transaction;
- Peer-to-peer (P2P) network for communicating with other Ethereum nodes on the network for state synchronization;
- APIs for application developers (blockchain interaction).
Besu can be used to develop enterprise applications that require secure and high-performance transaction processing on a private network. Built on a modular architecture, Besu is relatively easy to expand to add new features.
For example, a signature wallet is a separate component that interacts with the main component via HTTP. If necessary, it can be replaced with another implementation according to the design of the HTTP API. The wallet component can be extended for additional functionality without even touching a part of the Besu code.
The Hyperledger Besu API supports Ethereum-specific features such as:
- Development of smart contracts;
- Ethereum mining;
- Development of decentralized applications (DApp).
Hyperledger Besu features
The Ethereum Virtual Machine (EVM) is maximally compatible with the Turing Virtual Machine, which allows Besu to deploy and execute smart contracts through transactions on the Ethereum blockchain.
The Besu node implements several consensus algorithms (PoA and PoW) involved in the verification of blocks, transactions and the formation of new blocks.
Hyperledger Besu uses RocksDB key-value database to persist chain data locally.
Monitoring. Besu helps you monitor node performance using the Prometheus method or the debug_metrics JSON-RPC API. Tracking tools: EthStats Network Monitor and Block Explorer.
Confidentiality. Besu Private Transaction Manager does not allow other parties to access the contents of the transaction, the sending party, and the list of parties involved.
Besu is a network with permissions. Allows only selected nodes and accounts to participate, approves accounts and/or nodes on the network. The Besu client, which is on the Ethereum main net, is compatible with other nodes running on other clients. For private blockchains, only Besu will work within companies.
Benefits of running a Hyperledger Besu node
The main benefit of running a node for a participant:
- Analysis of blockchain data on local machines, no remote calls needed.
According to crypto experts, Besu is much more stable than its peers. Hyperledger products are generally rated positively by companies and developers, which is not the case for most similar clients developed by other companies.
- Sending your transactions from a node you trust.
- Having your node is beneficial if you are developing your decentralized application or service.
For the ecosystem:
- Further decentralization of the Ethereum network enables everyone to access more copies of the blockchain history.
- Less time delay.
Hardware and software requirements
Besu can be of two types - full node and archive node. Full nodes maintain the current state of the blockchain and cannot serve the network with all data requests. With their help, you can check the current balance, sign and send transactions, and view the current DApp data.
Archive nodes store information about the interlocutory state of each account. This node has the same functionality as the full one, plus access to the data of past periods.
To run a full Hyperledger Besu node, you need to enable fast synchronization (--sync-mode = FAST), it enables pruning by default.
Technical equipment: it takes at least 4 GB of RAM and 750 GB of hard disk space. The operating system hard drive must be SSD or NVMe to maintain the speed required for chain synchronization.
For Besu on the MainNet, the archive nodes require significantly more disk space, approximately 3 TB. To run the archive node, full synchronization is required (--sync-mode = FULL), which disables pruning by default.
In terms of software requirements, Hyperledger Besu runs on Linux, macOS, and Windows.
Running a full Besu node is possible on several hostings. The most common option for multiple participants is to run on a local device - server.
Cloud services fully compatible with Besu: AWS, Azure, and other providers of server solutions. One of the advantages of working in a cloud service is the ease of setup, as well as the ability to remotely start and stop the service.