The goal of this project is - starting out from a given demo implementation - to implement an application for a next generation digital "Studienleistungs & Prüfungspass" (study performance & examination pass) based on blockchain technology. The pass will record the individual, required study achievements (like milestones or assignments, tests, etc.) during the courses taken, the final grading of courses, and the collection of gradings of courses during the entire study (like a "Sammelzeugnis" currently used by the university). There are various stakeholders in this scenario: the students, the lecturers of courses, and the administration roles (like SPL). The implementation has to be realized based on Ethereum Blockchain technology, which provides the concept of Smart Contracts. Ethereum Smart Contract technology is one of the most promising implementations for smart behavior of blockchain systems. The focus will be on the proper design and implementation of smart contracts to capture most of the functionality of the application and the implementation of a well-working set of functions to realize a showcase demo application. The technology stack intended to be used is as follows:
- contracts written in Solidity (>= 0.8.28),
- OpenZeppelin Contracts library (>= 5.0.0, https://docs.openzeppelin.com/contracts/5.x),
- Hardhat 3 (https://hardhat.org/) with Ignition deployment system (compiling, testing, deployment https://hardhat.org/docs/guides/deployment,
- chain interaction by ethers.js (>= 6),
- private (permissioned) blockchain running on Hyperledger Besu (>= 25.10.0, https://docs.besu-eth.org/private-networks) on Java (>= 21) with the QBFT proof-of-authority protocol (note: Hyperledger Besu fully supports Cancun and offers QBFT, recommended as the proof-of-authority protocol for new private networks https://docs.besu-eth.org/),
- web application based on React (>= 19) with TypeScript, Tailwind CSS, and DaisyUI,
- file encryption by the browser’s native Web Crypto API,
- off-chain data storage by self-hosted private IPFS network,
- Docker containerization (IPFS node and nginx web server, and maybe other components, run as Docker containers).
An interesting option might be to deploy the private blockchain network on Azure (using the Azure license of the University of Vienna) https://docs.besu-eth.org/private-networks/tutorials/azure.
The student is expected to use professional tooling for this project.
Provided to the students: Optionally, virtual machine
Technologies: Ethereum Blockchain Infrastructure (Solidity, OpenZeppelin, Hardhat, ethers.js, Hyperledger Besu with QBFT proof-or-authority) on Linux of Windows, or partially on Cloud Infrastructure; Web Technologies for implementing Web-based applications (React, Typescript, Tailwind, DaisyUI, IPFS); Docker
Tags: Blockchain; Web technologies; Docker; Klas