Hyperledger Cactus: On the Road to General Blockchain Integration

Since its inception as a Hyperledger project almost a year ago, Hyperledger Cactus has come a long way. Today, the maintainers are excited to announce a version 0.4 release that supports many exciting integration applications and moves us in the direction of our “dream” modular architecture.

Hyperledger Cactus is a pluggable enterprise-grade framework to transact on multiple distributed ledgers without introducing yet another competing blockchain. With this project, we aim to provide a decentralized, adaptable and secure integration to and between blockchain networks that is adaptable for various platforms and protocols. Roughly speaking, Cactus consists of “business logic plugins,” which coordinate cross-blockchain integration and “ledger plugins,” which facilitate connections to particular ledgers.

The Hyperledger Cactus v0.4 release includes the following modules:

  • Ledger Plugins – the mechanism to communicate with various DLT platforms
    (Hyperledger Besu, Corda, Corda OS, Hyperledger Fabric, Go-Ethereum, Quorum, Hyperledger Sawtooth)
  • Three  Business Logic Plugin samples – the application integrates multiple blockchains
  • Support Libraries – various utility libraries that make programming business logic plugins easy. These are great for setting up your own applications! 

In fact, it’s very easy to try out Hyperledger Cactus today. We provide instructions for running a sample implementation of the Business Logic Plugins (service applications in Hyperledger Cactus architecture) that takes advantage of various blockchain platform features so you can evaluate Hyperledger Cactus on your own PC.

It is even possible to set up a container with a supply chain example using a single command-line command!  Here is a link to this example. We encourage you to see for yourself how easy it can be to get started with blockchain integration using Hyperledger Cactus.

Our long-term architectural goals for Hyperledger Cactus are to offer a flexible, modular system that allows users to configure blockchain integration systems to exactly fit their needs. We want users to be able to reuse code as much as possible while still avoiding code bloat and duplication in the features that are used. Contributors are working to complete Hyperledger Cactus in line with an architecture that is based on prototype code. Unimplemented features are detailed in the white paper.

Our white paper describes the path of development for Cactus, starting with enumerating various use cases that can be realized with Cactus. We use these use cases to derive and establish basic design principles such as pluggable architectures and modular interfaces. As the result of many long discussions, we have put together an initial architectural design. We present a diagram that showcases this below:

CACTUS Architecture

This diagram is a little bit complicated, but hopefully it allows you to picture the modularity and flexibility of the Hyperledger Cactus system. We want to emphasize that our system design pushes the ledger-specific functionalities as far to the edge as possible in order to maximize ease of development and make applications as ledger-agnostic as possible.

If this seems interesting to you, we’d love to welcome you into the Hyperledger Cactus community. Unlike our project namesake, we are not prickly! Whether you want to contribute or are just interested in using Cactus, we would love to connect.

It’s easy to get in touch with us! The simplest way is to reach out on the Hyperledger Cactus rocketchat. We have pair programming sessions set up for new contributors and users almost daily (please check the Hyperledger calendar), so we’d be more than happy to help if you would like to contribute or want help getting up and running. We look forward to hearing from you!

Back to all blog posts

Sign up for Hyperledger Horizon & /dev/weekly newsletters 

By signing up, you acknowledge that your information is subject to The Linux Foundation's Privacy Policy