Scaling Real World Hyperledger Fabric Deployments

TitleHelp scale and manage real-world Hyperledger Fabric deployments to increase transparency in welfare and charitable donations.
Status

PROJECT COMPLETED

Difficulty

MEDIUM  

Description 

Summary: AID:Tech builds real world Blockchain applications using Hyperledger Fabric. With this internship you'll have the opportunity to work on scaling real world deployments build on our award winning platform.

Company background: AID:Tech's Transparency Engine and TraceDonate products are now being used by some of the world's most impactful organisations. We've brought transparency to the delivery of aid, traceability to donations and channeled remittances towards socially responsible services. Our platform is now positioned for growth and scaling to handle high volumes of users.

Additional Information

Aside from being a socially impactful organisation, our team comprises members of strong start-up pedigree, including Techstars and Entrepreneur First alumni. We also pride ourselves on being highly selective in who we take in by performing agile but thorough QA on our future colleagues and interns.

Technically, our team has contributed to multiple Linux Foundation projects, including Hyperledger Composer, the Fabric CA, Helm (including Charts for deploying Hyperledger Fabric and Composer) and have even open-sourced a library for deploying Hyperledger Fabric on Kuberntes, Nephos.

Furthermore, we have been active in helping educate the community, by releasing:

Learning Objectives

In this internship you will have the opportunity to learn/improve a number of the following skills:

  • How to use and manage Kubernetes and Helm charts, by using our open-source library Nephos for deploying Hyperledger Fabric.
  • How the Fabric Certificate Authority manages identities of blockchain nodes and agents, and enables the creation and signing of their cryptographic material (private and public keys).
  • How to configure and update a Hyperledger Fabric network by managing the consortium configuration through the use of Fabric CLI tools configtxgen and configtxlator.
  • Solid test-driven development (TDD) practice in Python and/or Node.js, giving you confidence in the code you write by leveraging frameworks like pytest and mocha/chai.
  • Some DevOps by using TravisCI to ensure that code built passes stringent quality control and is automatically packaged, documented and analysed for security and code-style issues.
  • Some front-end skills, by leveraging the React/Redux/Node.js stack for easing the management of configuration files of the blockchain network.

Expected Outcome

Depending on the relative skills of the potential intern, we are likely to work on one or more of several objectives:

  • Expansion of the capabilities of Nephos, our open source python library to deploy Hyperledger Fabric networks to Kubernetes.
  • Improvements to our Helm charts for deploying Hyperledger Fabric components to Kubernetes.
  • Contributing to our Fabric Node.js connector SDK, for simplifying access to Fabric capabilities, including installation, management and instantiation of chaincode.

Relation to Hyperledger 

Hyperledger Fabric, Composer, Chaincode, Kubernetes/Helm.

Education Level

Suitable for Undergraduate or Masters level.

Skills

Our tech stack is Linux-centric (so it's great if you know bash/zsh), and we use a lot of JavaScript (Node.js) and related front and back-end tools, as well as Python (3.x). We also use Microservices via container (Docker) orchestration (Kubernetes/Helm). Some knowledge/interest in Cryptography/Blockchain also won't go amiss.

We don't expect you to master our entire tech stack. With a decent amount of motivation you can pick up missing tech skills over the course of the internship.

But we do expect you to be passionate about computer science and building robust, well-tested software (through solid documentation and unit and functional tests), and know how to develop it in a robust and agile way while collaborating with others (we are using trunk-based development). We'd love to see one of the hobby projects you hacked in your free time.

Future plans

The end of the internship does not need to mean an end to collaboration. It may well be your stepping stone to a permanent role at AID:Tech or you may wish to continue collaborating with us on the open-source outcomes of the internship.

Preferred Hours and Length of Internship

Full-time for Summer

Mentor(s) Names and Contact Info

Alejandro (Sasha) Vicente Grabovetsky, alexvicegrab, AID:Tech sasha@aid.technology 

Nicola Paoli, nicolapaoli, AID:Tech nicola@aid.technology

Niall Dennehy, AID:Tech niall@aid.technology

Mentee Name

Inzamam Iqbal, inzamam.15@cse.mrt.ac.lk

Project Plan

Summary Report 

Inzamam_Iqbal - Scaling Real World Hyperledger Fabric Deployments.pdf