I was tutor and lecturer of the course and exercise “Smart contracts”. It aimed for an understanding of technological, legal, and economic aspects for smart contract development as well as awareness of security issues of smart contracts.

As part of this lecture, I created an assignment for the students, where they could combine their probably most favorite hobby - going out and drinking some beer - with the second favorite pastime - coding. Especially during Covid, this had to happen strictly virtual. They learned how to deliver (or, in this case, mint) beer (tokens) and how to run their own bar - all as a decentralized app on a blockchain.

Dev

A blueprint of a smart contract for a bar was provided to the students, which needed to be implemented and extended. Also, a really simple webinterface (developed in pure JavaScript, as the students were already familiar with it due to the geth command line, and to not require additional web development know-how) was provided where they could interact with the contract.

Ops

When new code got pushed to the repository, Gitlab triggered the run of a test suite, immediately showing the students how well their code performed. Also, the web interface for the DApp (decentralized app) was made available to the student via Gitlab Pages.

Used technologies:

Solidity EVM Gitlab CI/CD Gitlab pages JavaScript web app