Skip to content

A Hyperledger Lab focused developing materials for a university course.

License

Notifications You must be signed in to change notification settings

LedgerAcademy/university-course

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enterprise Blockchain Technologies - A university course on Hyperledger Fabric 🎓

A Hyperledger Lab focused developing materials for a university course. This repository contains work in progress.

Table of Contents

Module Lab Number Topic Contents Support files
I Lab 01 Fundamentals on Distributed Systems -Introduction on distributed systems

-Introduction on state machine replication

-Introduction on consensus

-RAFT algorithm
I Lab 02 Fundamentals on Cryptography and Security -Background on Cryptography: symmetric and asymmetric cryptography, and digital signatures

-Background on Security: authentication, authorization, accountability

-RSA algorithm
RSA implementation
I Lab 03 A Primer on Blockchain -Introduction to blockchain

-Public vs private blockchains
Blockchain4Students
I Lab 04 Introduction to Hyperledger Fabric -The Hyperledger Ecosystem

-A Technical Viewpoint on Fabric

-A Use Case for Education: Blockchain4Students QUC

Course Motivation & Overview

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

This course is a 7.5 ECTS master level course that assumes 3 hours of theory per week + 1.5 weeks of practical classes (laboratory) per week. This course implements the laboratory clsases.

The course is divided into two modules: Module I introduces the technology (labs 1-3) and Module II focuses on Hyperledger Fabric (labs 4-8). For universities using trimesters, the course can be separated into the two modules (1 per trimester).

For universities using semesters, the whole course (labs 1-9) can be taught in that semester.

At the end of this course I will:

  1. Understand the concepts in which blockchain is based (labs 1 and 2), what is blockchain, and which problems it can solve (lab 3)
  2. (optionally) Know how Ethereum and Hyperledger Besu work. I will be able to write simple smart contracts and deploy them on several networks (lab 4)
  3. Know Hyperledeger Fabric's components in detail, as well as its architecture and transactional model (labs 5,6,7)
  4. Be able to write smart contracts (chaincode) for Hyperledger Fabric, and bootstrap a Hyperledger Fabric network running those contracts (labs 5,6,7)
  5. Understand advanced concepts on the area of consensus, using Hyperledger Umbra (labs 8, 9)

Course organization

Available here

Folder organization

docs - contains rendered labs

source - contains the LaTeX sources for the labs

support - contains the support files for the labs

Contribute

Your contributions are very welcome! 🎉🎉

Please check the contributing guide

List of contributors

  • Rafael Belchior <rafael.belchior (at) tecnico (dot) ulisboa (dot) pt>
  • Catarina Pedreira <catarina.pedreira (at) tecnico (dot) ulisboa (dot) pt>
  • Iulia Mihaiu <iulia.mihaiu (at) student (dot) unitbv (dot) ro>
  • Rafael Soares <joao.rafael.pinto.soares (at) tecnico (dot) ulisboa (dot) pt>

Context

This project is part of Hyperledger Labs and Hyperledger Summer Internships.

Acknowledgements

This project is idealized and greatly supported by:

  • David Huseby - <dhuseby (at) linuxfoundation (dot) org>

About

A Hyperledger Lab focused developing materials for a university course.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TeX 85.7%
  • Python 11.5%
  • TypeScript 1.6%
  • Other 1.2%