You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »


Abstract

Hyperledger Labs Blockchain Automation Framework(BAF) is a tool to deploy different DLT platforms automatically on a given Kubernetes cluster. BAF supports multi-cloud and multi-DLT deployments, and already supports HL Fabric, HL Besu, Quorum, R3 Corda. For HL Besu, currently only IBFT2 Consensus is supported by BAF. The task is to support the Clique consensus for Hyperledger Besu, so that BAF can be used to deploy and operate a HL Besu network with Clique consensus. This will also include upgrading BAF to support the latest stable Besu version.

Mentor and Mentee

Mentor: Sownak Roy 

Timezone: UK/BST

Rocketchat(Hyperledger): sownak

Mentee: Roshan Raut

Timezone: IST

Rocketchat(Hyperledger): roshan13046

Mail: roshanpk.raut@gmail.com

Communication channel:  Rocketchat + Github

Project repo: https://github.com/hyperledger-labs/blockchain-automation-framework

Deliverables

  • Helmcharts required to set-up Clique consensus with Besu
  • Ansible scripts to automate the generation of Helm value files.
  • Documentation on how to use BAF for deploying HL Besu with Clique consensus.
  • Documented, upgrade of Besu to latest stable on BAF.

Milestones

Eval 1:

  • Local setup of all tools, Docker, Git, Minikube, Ansible.
  • Use existing BAF code to deploy Besu with IBFT consensus on local network.

Eval 2:

  • Deploy Besu with Clique consensus on local network manually.
  • Manual steps for Besu with Clique documented.

Eval 3:

  • Helmcharts created for Besu with Clique deployment.
  • Tests and Documentation created for the Helmcharts.

Eval 4:

  • Ansible scripts to automate the deployment of Besu with Clique.
  • Updated documentation.

Timeline

DatesTask/PlanStatus
June 1 - June 14Mentee intro with the mentor. Introduction to the concepts of BAF.Done
June 15 - June 28

Setup local environment for Development

Done
June 29 - July 12

Setup a Besu network with clique consensus manually/locally using Besu documentation.

Eval on July 10: Provide reports for first quarter to the program organisers.

Done

Eval Completed

July 13 - July 26

Setup GKE environment for Development (added because local minikube was not feasible due to memory issues)

Done
July 27 - Aug 9

Complete local Besu network with clique consensus.

Done

August 10 - August 23

Set-up a small Besu network using local/GKE Kubernetes network using BAF.

Eval on August 20: Provide reports for first quarter to the program organisers.

Done 

Eval Completed

August 24 - Sept 6Document changes needed to implement Clique consensus.In Progress
Sept 7 - Sept 20Make the changes in Ansible and Helm charts.Pending
Sept 21 - Oct 4

Test the scripts and make additional changes in Ansible and Helm charts.

Eval on October 1: Provide reports for second quarter to the program organisers.

Pending

Eval Pending

Oct 5 - Oct 18

Buffer to complete the Besu network deployment using Clique.

Pending
Oct 19 - Nov 1

Update the documentation.

Pending
Nov 2 - Nov 12

Prepare final presentation.

Final Eval on November 12: Provide reports for completion.

Pending

Eval Pending


Methodology

I am following the “Design-Code-Test-Document​” methodology.

My first step while developing any software is to design the process flow by understanding the inner Architecture of Besu and BAF. During the initial mentorship, I along with my mentor will be doing some planning of the implementation and set important milestones for same as represented in the schedule for the work(given above) for the respective feature. Once I develop each feature, I will be writing Molecule Tests for the implementation to make sure whatever I wrote is working correctly. At the end of the tests, I will be documenting their implementation. I am using​ GIT​ for version control with reviews taking place on Github(Repo:https://github.com/hyperledger-labs/blockchain-automation-framework).

I am constantly sharing my progress with the mentor and the community, a ​weekly​ update regarding my work is shared with the mentor as a weekly meet.




  • No labels