/blockchain-automation-framework

An automation framework for rapidly and consistently deploying production-ready DLT platforms

Primary LanguageKotlinApache License 2.0Apache-2.0

Blockchain Automation Framework join the chat

License Documentation Status CII Best Practices

Short Description

An automation framework for rapidly and consistently deploying production-ready DLT platforms

Scope of Lab

Blockchain Automation Framework delivers an automation framework for rapidly and consistently deploying production-ready DLT platforms to cloud infrastructure.

What is Blockchain Automation Framework?

Blockchain Automation Framework makes use of Ansible, Helm, and Kubernetes to deploy production DLT networks. Specifically, it makes use of Ansible for configuration of the network by DevOps Engineers. It then uses Helm charts as instructions for deploying the necessary components to Kubernetes. Kubernetes was chosen to allow for Blockchain Automation Framework to deploy the DLT networks to any cloud that supports Kubernetes.

Blockchain Automation Framework initially supports Hyperledger Fabric and Corda. It is the intention to add support for Hyperledger Sawtooth, Hyperledger Indy and Quorum. Other DLT platforms can easily be added.

Documentation

Detailed operator and developer documentation is available at our ReadTheDocs site.

The documentation can also be built locally be following instructions in the docs folder.

Hyperledger Fabric

For Hyperledger Fabric, we use the official Docker containers provided by that project. A number of different Ansible scripts will allow you to either create a new network (across clouds) or join an existing network.

Blockchain Automation Framework - Fabric

Corda

For Corda, we build Docker containers from the Corda source. A number of different Ansible scripts will allow you to either create a new network (across clouds) or join an existing network.

Blockchain Automation Framework - Corda

Hyperledger Indy

For Hyperledger Indy, we build Docker containers from our source code. A number of different Ansible scripts will allow you to either create a new network (across clouds).

Blockchain Automation Framework - Indy

Quorum

For Quorum, we use the official Docker containers provided by Quorum. A number of different Ansible scripts will allow you to either create a new network (across clouds) with choice of Consensus (between IBFT and RAFT) and a choice of Transaction Manager (between Tessera and Constellation).

Blockchain Automation Framework - Quorum

Contact

We welcome your questions & feedback on our Rocketchat channel.

Contributing

We welcome contributions to BAF in many forms, and there’s always plenty to do!

First things first, please review the Hyperledger Code of Conduct before participating.

There are many ways to contibute to BAF, both as a user and as a developer.

As a user, this can inlcude:

As a developer:

Build

If you are not using the provided Jeknins automation scripts, you can run the provisioning scripts within a docker runtime independent from your target Kubernetes cluster.

# Build provisioning image
docker build . -t hyperledgerlabs/baf-build

# Run the provisioning scripts
docker run -v $(pwd):/home/blockchain-automation-framework/ hyperledgerlabs/baf-build

Initial Committers

Sponsor

Mark Wagner (Github: n1zyz, email: mwagner@redhat.com) - TSC Member