As enterprise blockchain projects have progressed, developers have realized that a simple blockchain node is insufficient for their needs. They have realized that they need a more robust and feature-rich solution. The concept of a Supernode has evolved significantly over the last decade to become a powerful and versatile tool for building and deploying enterprise blockchain projects.
Hyperledger FireFly is the first open-source Supernode that provides a complete stack for enterprises to build and scale secure Web3 applications.
By definition, a supernode is a node in a network with a higher capability or level of authority than other nodes. This can be due to more computational power, storage capacity, or connections to other nodes. Supernode in Hyperledger Firefly is a special type of peer node typically more powerful and has more resources than regular nodes, which allows them to handle the increased workload of maintaining and securing the network. Additionally, supernodes have access to certain features and tools that regular nodes do not have, such as updating the network’s configuration and managing access control policies.
Figure 1: Without and With FireFly Supernode(Source https://hyperledger.github.io/firefly)
In Figure 1, it can be visualized that by using FireFly Supernode , developers can avoid writing large amounts of low-level “plumbing” code, which can be time-consuming, costly, and prone to errors. That allows them to focus on building their application’s unique business logic and reduces the solution’s overall maintenance cost.
Figure 2: FireFly Supernode(Source: Hyperledger Foundation)
It has four major parts depicted in Figure 2:
- Core
- Connectors
- Registry
- Infrastructure Runtime
Core
A core is a collection of multiple runtimes with a unified HTTPS/Websocket API. It has connectivity to other parties in the network through runtimes (Blockchain, Shared Filesystems, Messaging, etc.). It is the active engine that your apps use to interface with the system. It maintains private data storage, manages the lifecycle of assets and data objects, dispatches actions, and processes events.
- It is a collection of multiple runtimes with a unified HTTPS/Websocket API (exposed by the Core).
- It has a private database containing your private data and data received from others in the network.
- It has connectivity to other parties in the network through runtimes (Blockchain, Shared Filesystems, Messaging, etc.).
Connectors
Connectors in Hyperledger Firefly are used to connect the dApp to the underlying blockchain network. These connectors provide an abstraction layer that allows the dApp to interact with the blockchain network using a simple API without knowing the network’s underlying implementation details. Connectors can interact with smart contracts, query the blockchain for data, and submit transactions to the network. Connectors are the bridging runtimes that know how to talk to a particular runtime. It abstracts away the complexity of reliable, coordinated connectivity across heterogeneous runtimes.
- They run separately to the Core (like a microservice architecture of an app).
- They can be written in any language (not just Go) - Java, TypeScript, Rust, Python, .NET, etc.
- They can use any network transport (not just HTTPS/Websockets) - GRPC, AMQP, UDP, etc.
- They connect to the Core with a Golang shim
Registry
The registry is a component of Hyperledger Firefly which enables the registration of participants (users, organizations, devices, etc.) on the blockchain network, thus allowing them to access and interact with the network’s resources. It also manages the identity and access management of the participants on the network.
Infrastructure Runtime
The infrastructure runtime is the core component of a blockchain platform. It can be considered a layer that sits between the application layer and the underlying network, providing all the necessary functionalities for a blockchain network to run.
- Blockchain nodes - Ethereum (Hyperledger Besu, Quorum, Geth), Hyperledger Fabric, Corda, etc.
- Shared storage - IPFS etc.
- Database - PostreSQL, CouchDB, etc.
In conclusion, Hyperledger Firefly’s Supernode is an advanced and highly customizable version of the Hyperledger Fabric peer node optimized for high performance, low latency, and security. It is ideal for large-scale enterprise environments and can provide a powerful platform for building decentralized applications and services.
Reference: