New article on #tokenization Read more >

Skip to main content
Hyperledger Foundation
search
Menu
  • Learn
    • Case Studies
    • White Papers
    • Training & Certification
    • Training Partners
    • Webinars
    • Research
    • Blockchain Showcase
    • Wiki
  • Use
    • Distributed Ledgers
    • Domain-Specific
    • Libraries
    • Tools
    • Tutorials
    • Hyperledger Certified Service Providers
    • Vendor Directory
  • Participate
    • Collaboration Tools
    • Contribute to Coding
    • Academic Collaboration
    • Find a Meetup
    • Regional Communities
    • Speakers Bureau
    • Join a Community Group
    • Labs
  • Events
  • News
    • Blog
    • Announcements
    • Newsletter
  • About
    • Join Hyperledger
    • Members
    • Leadership
    • Charter
    • Job Board
    • Contact Us
  • Join
  • English
    • 简体中文
    • Português
    • Français
    • Malayalam
    • 日本語
    • Español
  • search
Close Search
Category

Hyperledger Mentorship Program

Sep 19
Love4

2019 Summer Mentee Project Update: Integration of Hyperledger Iroha into Hyperledger Explorer

By Ruslan Tushov Blog, Hyperledger Explorer, Hyperledger Iroha, Hyperledger Mentorship Program

Hyperledger Iroha is a next-generation permissioned DLT initally contributed by Soramitsu. It provides asset and identity management, multi-signature and batch transactions. During the internship, I visited the Soramitsu office and communicated with Iroha development team.

Hyperledger Explorer is a tool that shows information from DLT networks. Initially, it was built to support for Hyperledger Fabric, with the expecting support for more DLTs would be added. Our goal was to add support for collecting and viewing Iroha transactions and Iroha-specific information to Hyperledger Explorer.

Accomplishments:

  • We implemented an integration of Hyperledger Iroha into Hyperledger Explorer. Now, Hyperledger Explorer shows information about Hyperledger Iroha peers, blocks, transactions, roles, domains, accounts.
  • We found and fixed some ambiguous statements in Hyperledger Iroha documentation.
  • We simplified code of our project by using open-source GraphQL framework developed by Facebook.

For a deeper dive into the work, read my full project report here.

I am very grateful for the support of my mentor, Ales Zivkovic, as well as Hyperledger for the opportunity to learn and contribute to open source Hyperledger projects.

Sep 19
Love1

2019 Summer Mentee Project Update: Raspberry Pi Indy Agent

By Zixuan Zeng Blog, Hyperledger Aries, Hyperledger Indy, Hyperledger Mentorship Program

My name is Zixuan Zeng, a CS student from Zhejiang University. This summer, I was happy to join the Hyperledger Internship Program and had a very fulfilling experience. I was fortunate to work with my mentor Adam Burdett from the Sovrin Foundation on a project focused on building a Raspberry Pi Indy agent on Raspberry Pi.This project’s goals was to develop a Hyperledger Indy agent running on Raspberry pi, producing a customized Raspbian image that provides easy access to GPIO pins, enabling it to interact with external sensors, LED matrix, etc. With the new Hyperledger Aries project, our implementation was an Aries-cloud-agent (previously indy-catalyst) that can interact with Indy pool and create more interesting applications. This project also includes an Aries RFC defining the message format for interactions with Sense-Hat extension board as well as its messaging module implementation.

What I learned:

  1. Open source community work style: Through this summer’s internship, I experienced the working style of open-source development from the Hyperledger community. For example, I opened a GitHub issue and got it resolved. 
  2. Blockchain knowledge: In this internship, I got to know more about not only the basic blockchain concept but its exciting applications in the future. I learned distributed ledger, zero-knowledge proof and decentralized identifiers during this summer. Additionally, I had the opportunity to set up and test blockchains myself.
  3. Programming experience on IoT devices: I also gained hands-on programming experience on Raspberry Pi. Since it has ARM architecture, even compiling the SDK was a tough task for me at first. After many tries and looking up the documents, I finally made it on Raspberry Pi. Using Python to control an external GPIO port was also a fun and new experience to me.
  4. Implementation of a working Hyperledger Indy agent: Working with Aries Cloud Agent, I developed messaging protocols and successfully implemented a working agent. Walking through the architecture of the agent project was really a learning experience for me. I felt very accomplished when I understood the structure of the whole project and developed sub-module based on that.

What comes next:

The next step for this project could be: 

  • Extend to other IoT devices
  • Add support for more add-on boards
  • Add support for more messaging types

After this fulfilling experience, I determined that my plan is to become a software engineer, especially in blockchain area. I am happy to join the Hyperledger family and hope I can make more contributions to this vibrant community in the future.

Below are some screenshots from my project. To read my full report, go here.

Sep 19
Love0

2019 Summer Mentee Project Update: Scaling Real World Hyperledger Fabric Deployments

By Mohammed Iqbal Inzamam Blog, Hyperledger Fabric, Hyperledger Mentorship Program

I got selected to the 2019 Hyperledger mentorship program for the project “Scaling Real World Hyperledger Fabric Deployments.” My mentors were Sasha and Nicola from Aid:Tech. Through this internship, I contributed several new features to “Nephos,” which is an open-source tool under Hyperledger Labs. Nephos helps to deploy and manage Hyperledger Fabric networks easily.

During my internship, I worked closely with the engineering team of Aid:Tech. My mentors, and I had several meetings to plan our tasks and to finalize the architectures. I made the following contributions to Nephos during my internship:

1. Stabilizing Nephos

During the first few weeks, I spent time on familiarizing myself with the relevant technologies and Nephos itself. During this time I fixed some known bugs in Nephos. Also during this phase, I improved the logging capability of Nephos through the native Python logger.

2. Support for multiple organizations

Nephos 0.3.X supported only one orderer organization and one peer organization. We wanted to allow the users to define as many organizations as they wanted. As some major changes had to be done that needed to be compatible with the future plans we have for Nephos, we discussed the architectures and changes in GitHub. Then we finalized the architecture and started working on it after an online meeting. Now, Nephos 0.4.X let multiple organizations to be defined.

3. Support for multiple channels

I also created a PR to let the user define multiple channels and precisely define which organizations belong to which channels so that, during the deployment, Nephos creates those channels and make the peers join the relevant channels. In order to achieve this, I also had to make changes to the “hlf-peer” helm charts in helm stable repository.

4. Support for Hyperledger Fabric 1.4

As Hyperledger Fabric 1.4 is the LTS version of Fabric, we made Nephos and the relevant helm charts support Fabric 1.4.

5. Support for TLS communication within nodes.

After supporting Fabric 1.4, we wanted to make sure that Nephos will work with RAFT ordering service, which is one the main feature we got by updating to Fabric 1.4. But, in order to support RAFT, we needed to support TLS communication between peers and orderers. I implemented this support, and now users can either use the TLS certificates generated by the cryptogen or they can ask Nephos to deploy a separate certificate authority to provide TLS certificates. In the latter case, Nephos will deploy a separate CA, generate all the relevant certificates, place the certificates in relevant pods and will use them for all the communication.

I hope to present my work at Hyperledger Global Forum 2020 in  Phoenix, Arizona. 

Experience gained

During my internship, I got a detailed understanding of how a Hyperledger Fabric network works, how to set it up, how to take advantage of its pluggable consensus model and how to make it secure. I also gained a lot of experience with Kubernetes and helm charts.

I have contributed to other open-source projects in the past, and Nepos is one of the most organized repositories I’ve seen. Working closely with my mentors, who built this open-source project from the ground up, gave me a lot of insights into how to effectively build and maintain an open-source project.

More details are available in my final project report.

Sep 19
Love0

2019 Summer Mentee Project Update: X.509 Certificate Transparency using Hyperledger Fabric Blockchain

By Harsh Jain Blog, Hyperledger Fabric, Hyperledger Mentorship Program

Goal

The 2019 Hyperledger Summer Mentorship program for full-time interns has came to an end. During this program my project was x509 certificate transparency using Hyperledger Fabric. This project aimed at

  • developing the Hyperledger Fabric infrastructure for ensuring SSL certificate transparency using blockchain (a.k.a. CTB)
  • setting up CTB over cloud.
  • making a Firefox extension for browser client application. 
  • benchmarking CTB-assisted SSL/TLS handshake duration.

Project Progress

While working on this project, I focused on feature-driven development and completed one task at a time. Timeline:

  • The project started with the paper provided by my mentors on design and logic behind CTB. Based on the architecture described in the paper, I created the initial version of CTB. 
  • Then I added blockchain explorer to CTB for monitoring transactions and blocks.
  • Next came creating a CA interface and rest API for interacting with CTB.
  • At this point, we were ready to deploy CTB. We started with one server on DigitalOcean.
  • Initially, we had bash scripts for testing query and invocation of the chaincode. Later, we moved to automated testing using Hyperledger Caliper.
  • To match real-world scenarios where CAs would be progressively joining CTB, I worked on addition of new organisation across multiple Docker environments.
  • Next, I created another droplet on DigitalOcean and bootstrapped the process of new CA org (on this server) joining CTB.
  • Then it was on to creating a Firefox extension.
  • Finally, it was time to  issue a self-signed certificate for ctb-testing.ml and another for hfctb.ml signed by letsencrypt on CTB. These are for demonstration purposes.

By the end of this project, different pieces of CTB started coming together. The final architecture of CTB is explained through the below diagram:

Learning

This internship has been an informative and skill-driven learning experience for me. I learned a lot from the Hyperledger community and gained critical experience and expertise in a number of areas, including: 

  • Working with openssl tool and certificates and understanding how PKI works.
  • Hands-on learning of Docker and cloud orchestration while deploying CTB.
  • Understanding the way identities are maintained within Hyperledger Fabric, role of peers and orderers, structure of crypto-config.
  • Writing chaincode and developing application for interaction with Fabric.
  • Using Hyperledger Fabric, blockchain-explorer and Hyperledger Caliper. While I was focused on Fabric, I also looked into Composer.

Future Plans

This project is still in development stage. With more functionalities and scaling, it can be used in production. Some of the tasks that we have in this project’s timeline are:

  • Revocation of certificate improvements: Currently when a certificate is revoked, the browser uses an extension to get status of certificate. A better solution is to directly integrate OCSP or OCSP stapling with CTB.
  • Chrome extension: Currently, Google Chrome does not provide an API to retrieve the SSL information including the domain certificates that the extension needs. Once it is available, we plan to build a Chrome extension too.
  • Scaling: Test different configuration of CTB on bigger network of servers.

For the full details, see my complete project report here.

I will continue to work on CTB in the future (post internship) and be a part of this great community!

Credits

First of all, none of this would not have been possible without my mentors (Mahavir Jhawar and Deva Madala) and other members of the Hyperledger community. Min Yu provided quick response to my queries and regular updates on the internship program. Hyperledger chat and Jira proved to be useful. So, a huge shout-out to them for helping and guiding me when I was clueless on how to proceed. While I was busy coding, my mentor oversaw the direction in which this project was going and pointed changes/additions to me. This kept me busy throughout the summer and helped me complete my project. 

Last, but not the least, I would like to thank my fellow applicants who also worked on developing Hyperledger Fabric, blockchain explorer and Hyperledger Caliper, which can be used in the next iteration of CTB.

Previous 1 … 4 5 6

Copyright © 2022 The Linux Foundation®. All rights reserved. Hyperledger Foundation, Hyperledger, and the other Hyperledger Foundation trademarks are trademarks of The Linux Foundation. For a list of Hyperledger Foundation trademarks, please see our Trademark Usage page. Linux is a registered trademark of Linus Torvalds. Privacy Policy and Terms of Use.

Close Menu
  • Learn
    • Case Studies
    • White Papers
    • Training & Certification
    • Training Partners
    • Webinars
    • Research
    • Blockchain Showcase
    • Wiki
  • Use
    • Distributed Ledgers
    • Domain-Specific
    • Libraries
    • Tools
    • Tutorials
    • Hyperledger Certified Service Providers
    • Vendor Directory
  • Participate
    • Collaboration Tools
    • Contribute to Coding
    • Academic Collaboration
    • Find a Meetup
    • Regional Communities
    • Speakers Bureau
    • Join a Community Group
    • Labs
  • Events
  • News
    • Blog
    • Announcements
    • Newsletter
  • About
    • Join Hyperledger
    • Members
    • Leadership
    • Charter
    • Job Board
    • Contact Us
  • Join
  • English
    • 简体中文
    • Português
    • Français
    • Malayalam
    • 日本語
    • Español