Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


OverviewDocument overview

This document contains the roadmap of activities to accomplish the topics proposed by the 2020 internship project named Build a university course on Hyperledger Fabric using Hyperledger Umbra

Motivation for this internship

A growing part of our community is our partnership with academia. Hyperledger Fabric and other Hyperledger projects are being incorporated in to research and education in universities more and more all over the world. Hyperledger can aid the growth by preparing study materials, sample lab experiments and quizzes and tests that teach computer science students about distributed systems and consensus algorithms and cryptography. Hyperledger Umbra has streamlined the process of setting up a full Hyperledger Fabric network running on a single computer. It provides an ideal environment for students to learn Hyperledger Fabric administration as well as use it for running lab experiments and learning exercises. This mentorship is focused on producing a "classroom-in-a-box" for an introductory computer science course on distributed systems and algorithms that can be offered to universities that wish to use Hyperledger Fabric in their curriculum.

End Goal of this internship

Build a self-contained master level university course that can be leveraged to teach enterprise blockchain technologies.


Course Overview & Motivation

Provide a reliable basis for university students to learn blockchain through Hyperledger Fabric, and, optionally, other Hyperledger technologies.


At the end of this course I will:

  1. Understand what is blockchain , how does it work, and which problems it can solve (laboratories 1,2,3)
  2. Have the basis on smart contracts, using Ethereum and Hyperledger Besu (laboratory 4)
  3. Know Hyperledeger Fabric's components in detail, as well as its architecture and transactional model (laboratory 5,6,7)
  4. Be able to write smart contracts (chaincode) for Hyperledger Fabric, and bootstrap a Hyperledger Fabric network running those contracts (laboratories 5,6,7)
  5. Understand advanced concepts on the area of consensus, using Hyperledger Umbra (laboratories 8, 9)

 

Project plan


Schedule

Activity

Deliverables

Week 1 - Week 2

June 1 - June 15

  • Contact possible contributors to this project
  • Setup project infrastructure
  • Delineate project plan
  • Skim through Hyperledger Fabric and Hyperledger Umbra documentation
  • Syllabus draft


  • Project plan
  • Course syllabus draft

Week 3 - Week 4

June 15 - June 29

  • Design Lab 1: Fundamentals on Distributed Systems and Cryptography
  • Lab 1 guide
  • Lab 1 support files

Week 5 - Week 6

June 29 - July 13

July 10: First Quarterly Evaluation

  • Design Lab 2:
A Primer
  • Fundamentals on
Blockchain
  • Cryptography 
  • Lab 2 guide
  • Lab 2 support files

Week 7 - Week 8

July 13 - July 20

  • Read Hyperledger Besu documentation
  • Read Ethereum documentation

    • Design Lab 3:
    Hyperledger Besu and Ethereum
    • A Primer on Blockchain


    • Lab 3 guide
    • Lab 3 support files
  • (optional) Besu Project proposal 
  • Week 9 - Week 10

    July 20 - August 3

    • Read Hyperledger
    Fabric 2.0
    • Besu documentation
    • Read Ethereum documentation
    • Design Lab 4: Hyperledger
    Fabric
    • Besu and Ethereum
    • Lab 4 guide
    • Lab 4 support files
    • (optional) Besu Project proposal

    Week 11 - Week 12

    August 3 - August 17

    • Read Hyperledger Fabric 2.0 documentation
    • Design Lab 5: Hyperledger Fabric
    • Lab 5 guide
    • Lab 5 support files
    • Fabric Project Proposal

    Week 13 - Week 14

    August 17 - August 31

    August 21: Second Quarterly Evaluation

    • Design Lab 6: Hyperledger Fabric
    • Lab 6 guide
    • Lab 6 support files

    Week 15 - Week 16

    August 31 - September 14

  • Read necessary documentation
    • Design Lab 7:
    Other
    • Hyperledger
    Projects
  • Lab 10 guide
  • Lab 10
    • Fabric
    • Lab 7 guide
    • Lab 7 support files

    Week 17 - Week 18

    September 14 - September 28

    • Read Hyperledger Umbra documentation
    • Design Lab 8: Hyperledger Umbra
    • Lab 8 guide
    • Lab 8 support files

    Week 19 - Week 20

    September 28 - October 12

    October 2: Third Quarterly Evaluation

    • Design Lab 9: Hyperledger Umbra
    • Lab 9 guide
    • Lab 9 support files

    Week 21 - Week 22

    October 12 - October 26

    • Design Lab 10: Hyperledger Umbra
    • Polish lab guides and support files
    • Update previous deliverables

    Week 23 - Week 24

    October 26 - November 9

    • Polish lab guides and support files
    • Update previous deliverables
    Course
    • Final course syllabus


    Week 24 

    November 9 - November 13

    November 13: Fourth Quarterly Evaluation

    • Project conclusion
    • Final presentation



    Processes

    • The project will be publicly available as an Hyperleder Lab (including but not limited to source code, class guides, LATEX files, and presentation files). 
    • Coordination with related  Hyperledger Internship programmes will be hold (Adding Network Fuzzing Capabilities to Hyperledger Umbra and Scaling Experiments with Hyperledger Umbra) so that the outcome of this internship can benefit from up-to-date efforts regarding Umbra.
    • Quarter basis review according to the Hyperledger Internship Programme schedule
    • Internal communication and updates:
      • Rocket Chat/Email for communication
      • Weekly meeting for project discussion

    ...