An automation framework for rapidly and consistently deploying production-ready DLT platforms.
Blockchain Automation Framework delivers an automation framework for rapidly and consistently deploying production-ready DLT platforms to cloud infrastructure.
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 currently supports Corda, Hyperledger Fabric, Hyperledger Indy and Quorum. It is the intention to add support for Hyperledger Besu and Corda Enterprise in the near future. Other DLT platforms can easily be added.
To get started with the framework quickly, follow our Getting Started guidelines.
Detailed operator and developer documentation is available on our ReadTheDocs site.
The documentation can also be built locally be following instructions in the docs
folder.
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.
For Corda Enterprise, we build Docker containers from the Corda source with licensed jars. A number of different Ansible scripts will allow you to either create a new network (across clouds) or join an existing network.
For Corda Opensource, 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.
For Hyperledger Indy, we build Docker containers from our source code. A number of different Ansible scripts will allow you to create a new network (across clouds).
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).
For Hyperledger Besu, we use the official Docker containers provided by that project. A number of different Ansible scripts will allow you to create a new network (across clouds).
We welcome your questions & feedback on our Rocketchat channel.
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:
- if you only have a little time, consider picking up a “help-wanted” or "good-first-issue" task
- If you can commit to full-time development, then please contact us on our Rocketchat channel to work through logistics
If you are not using the provided Jenkins 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 -it -v $(pwd):/home/blockchain-automation-framework/ hyperledgerlabs/baf-build
Mark Wagner (Github: n1zyz, email: [email protected]) - TSC Member