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


13 Comments

  1. We deleted and reinstated this page in order to resolve the editing error. The issue that's breaking the process falls under this article: https://confluence.atlassian.com/confkb/saving-page-throws-unable-to-communicate-with-server-message-921470725.html 

    Whoever submitted the original project proposal, could you please complete the missing information? Otherwise it'll be considered incomplete and not reviewed by the TSC. Thanks!

  2. Niall Dennehy was the original author

  3. Another Q, if we wish to host multiple interns, is this possible? And if so, should we advertise on separate internships?

  4. We're funding one intern per internship project. If you feel the scope of your project is too broad and too ambitious for one intern to take on, I recommend narrow it down with more specific tasks that would be suitable for one new developer to take on.

  5. Noted, can one company propose more than one internship project? e.g. one project focused on Blockchain DevOps and one focused on blockchain network administration and chaincode lifecycle, etc.?

  6. You can but I think it's unlikely that two projects from the same organization/mentors will be approved by the TSC. I suggest that you prioritize and narrow the scope for the one you're submitting for consideration. Or you can leave it as its. 

  7. OK, we will keep it as is, and adapt which aspects the intern works on depending on skills.

  8. If this project is approved, it would be great if the Performance and Scale Working Group could also be involved at some level. 

  9. Guys Can Students from India opt for this internship project? This is my resume http://ankushk.me.