Hyperledger Besu APIs: A Complete Guide

On 26th February 2020, Hyperledger releases its new APIs, allowing everyone to write custom APIs for Besu. This article illustrates everything that you need to know about Hyperledger Besu APIs to keep yourself updated about the hottest technical topic.

 



Learning Of Blog

 

  •  Introduction 
  •  Understanding API and Plugin integration
  •  Everything related to New APIs
  • Hyperledger Besu Version 1.5
  •  Conclusion

 

Introduction to Hyperledger Besu

 

It is an open-source Ethereum client developed under the license of Apache 2.0 written in Java that can be run on either of the networks, be it Ethereum public network or on private permissioned networks and test networks such as Rinkeby, Gorli, and Ropsten. Ethereum client is nothing but a node that verifies smart contracts and everything related to blockchain.

 

The API of Hyperledger Besu supports these Ethereum functionalities-

 

  • Smart contract development
  • Decentralized application (DApp) development 
  • Ether mining

 

If you are interested in learning more about Ethereum and want to become an Ethereum Expert or an Ethereum Developer, why wait, check out Blockchain Council right now.

 

 Understanding API and Plugin Integration

 

As our concern revolves around Hyperledger Besu APIs, it is important to understand what actually APIs are and how does API differs with Plugins?

 

API refers to a set of tools, routines, protocols and tools for building software and applications, defining how a component interacts with a system, facilitating the communication between them.

 

Plugins are the extensions that allow modifying existing computer programs without altering the design of the system.

 

It is always a concern among developers that which is better than the other. Still, the fact is depending on the demand of the business, and the e-commerce platform on which the online store is based will be a critical factor in deciding which option to choose.

 

API offers more integration flexibility that allows merchants with overall control, be it the appearance of the checkout page or the payment flow, but this requires a sound technical knowledge for the integration. On the other hand, plugins are easy and ready to use with no prior technical knowledge. But with plugin integration, there is little or no control over design.

 

Everything Related to New APIs

 

Hyperledger Besu, new APIs, launched on 26th February, this plugin allows everyone to write custom plugins for Besu. Hyperledger Besu was launched in 2018 as Pantheon but without the PegaSys- the protocol engineering team at ConsenSys, this would never have been achieved.

 

Be it public or permissioned; this new Plugin API enables users to input data from any Besu network and feed it into the rest of their application. The API exposes data about the characteristics of Balances, Blocks, Transactions, Smart Contracts, Logs, Syncing State, and Execution Results.

Talking about Hyperledger Besu, let’s have a quick view on the older version 1.2 & 1.3. These were the key features.

 

  • Permissioning User Interface
  • Privacy Groups
  • Account Permissioning
  • Istanbul Network Upgrade
  • Relational Database Support
  • The signing of privacy maker transactions with random keys
  • Enhanced and faster synchronization times on Testnets

 

A current version of Hyperledger Besu is available, and that is version 1.4 that supports multi-tenancy, end to end TLS support, private state migration, and much more than that.

Let’s have the key features of version 1.4 at a glance.

 


Private State Migration

 

For private state storage, Hyperledger Besu v1.4 implements a new data structure that is backward-incompatible, which will perform a migration to reprocess existing private transactions and re-create the private state data in the v1.4 format.


Multi-Tenancy

 

Multi-tenancy allows participants to use the same Besu and Orion node, where each participant is a Tenant, and the Operator is the owner of the Besu and Orion node.


Better NAT Support

 

This version of Besu supports TLS connections with both Orion, its private transaction manager, and EthSigner, its transaction signer, thus securing client and server communication.


New Tracing APIs and Plugins API

 

In version 1.4, new tracing APIs are added to support Party-style traces. , trace_replayBlockTransactions, with support for the trace, vmTrace and stateDiff options. Besu now has an enhanced Plugins API which allows everyone to build Java plugins to extend Hyperledger Besu.

 

Along with all these features, End to end TLS support, Tuweni Bytes library support are the other additional features.

 

Hyperledger Besu Version 1.5

Hyperledger Besu version 1.5 is on its way and is expected to hit the market by summer 2020. The major goals of this version are to improve performance and privacy. The focus is to enhance Besu’s performance in the fields of block product and validation, block propagation, transaction pool management, and JSON RPC query response time. API is expected to support filtering of private contract events as well. Along with that, they are implementing Beam Sync support which will allow Besu to synchronize to the head of a network without downloading the complete network state and then download it as per the requirements.

 

Want to become a Certified Hyperledger developer? Enrol yourself with Blockchain Council for online courses in certified hyperledger developer and certified hyperledger expert.

 

Future Scope 

 

Hyperledger Besu is all ready for incremental improvements to the features mentioned above. The next level of work, i.e. version 1.6, is accepted to bring Stateless Clients, Alternate Consensus Mechanisms, Privacy group consensus, Cross privacy group communication with On-chain privacy. None of the articles talks much about the recently launched APIs but its pretty sure that the introduction of these APIs will be a massive success in the blockchain field.

 

To become a hyperledger expert and know more about hyperledger certifications, check out Blockchain Council.