The winning group is: Caspar Martens and Simon Kindhauser
Caspar and Simon built a decentralized autonomous organization (DAO), using soul-bound tokens (SBT) to vote on documents and its changes. They used Solidity with the OpenZeppelin Governor, for the backend next.js, PostgreSQL to store metadata, and to connect to the Ethereum, they used ethers.js.
The price is sponsored by Axelra, a tech venture builder that accelerates digital business models (Linkedin announcement).
Important dates: (always check https://unterricht.rj.ost.ch)
- Lecture dates: 19.09.2022 - 23.12.2022
- Exam sessions: 16.01.2023 - 04.02.2023
- Challenge Task Presentations (OST, Rapperswil, 1.267): 14.12.2022
Blockchain (BlCh)
The lectures will be pre-recorded. The lecture videos will up uploaded during the week, before the lecture on Wednesday at 08:10. The length of the videos will be ~ 80 - 100 minutes (2 x 45 min. lectures) divided into segments. The news segment (~10 min) will cover news around the topics blockchain and distributed systems and are not part of the exam. It should serve as on overview of current topics in this field.
| Nr | Date | Topics |
|---|
| 01 | 21.09.2022 | Admin, Challenge Task, Repetition DSy (part 1) - no exercises |
| 02 | 28.09.2022 | Repetition DSy (part 3), Token (ERC20) and NFT (ERC721) crash course |
| 03 | 05.10.2022 | Architecture Overview, Repetition DSy (part 2) |
| 04 | 12.10.2022 | Solidity Introduction, DAO introduction, POAP, Interview with Yves Boutellier and Olivier Winkler |
| 05 | 19.10.2022 | Stablecoins (only remote exercises) |
| 06 | 26.10.2022 | Solana |
| 07 | 02.11.2022 | P2P and DHTs |
| 08 | 09.11.2022 | Algorithms for DHT/P2P Systems |
| 09 | 16.11.2022 | Interview with Philip Berntsen, DeFi, DEX |
| 10 | 23.11.2022 | HTLCs, Cross-chain Atomic Swaps, Payment Channels |
| 11 | 30.11.2022 | Exam preparation |
| 12 | 07.12.2022 | WebRTC |
| 13 | 14.12.2022 | Challenge Task Presentations at OST, 1.267 (7 groups) |
| 14 | 21.12.2022 | Q&A and Challenge Task Award Winner Announcement |
| (those are preliminary topics, may be subject to change) | | |
Online/Offline Lectures & Exercises
Due to student requests, the Blockchain (BlCh) lecture will pre-recorded. I will be present in the lecture room 1.267 from 08:10 - 11:50. If you have not watched the lectures, you can watch it in the lecture (08:10 - 09:50). During exercises (10:10 - 11:50), you can work on your blockchain project (challenge task). You do not need to be present on Wednesday, but it is highly recommended to discuss your issues and problems with the challenge task with the lecturer from 08:10 to 11:50. From 10:10 - 11:50, you can also join the exercises remotely via MS Teams.
The online lectures and PDFs can be accessed from outside the OST network (also on Youtube), the exercise and admin material only with VPN.
Lecture
Lecture 1
Lecture 2
Lecture 3
Lecture 4
Lecture 5
Lecture 6
Lecture 7
Lecture 8
Lecture 9
Lecture 10
Lecture 11
Lecture 12
Lecture 13
Lecture 14
The challenge task presentations will be onsite in Rapperswil, at OST, room 1.267
The video in this lecture reveals the challenge task winner. It is Caspar Martens and Simon Kindhauser. Caspar and Simon built a decentralized autonomous organization (DAO), using soul-bound tokens (SBT) to vote on documents and its changes. They used Solidity with the OpenZeppelin Governor, for the backend next.js, PostgreSQL to store metadata, and to connect to the Ethereum, they used ethers.js.
Challenge Task HS 2022
This semester's challenge task (CT) is the design and implementation of an onchain voting application. Ideally, the application is a decentralized application (DApp).
- Find use-case or idea for your app
- Your app must include a simple frontend (e.g., HTML, Vue, React, Svelte, ...)
- Your app must include a public blockchain (e.g., Ethereum, Solana, ...)
Requirements
All requirements below must be met in order to pass this lecture.
- A working prototype for your use-case
- Use latest stable releases of chosen libraries and frameworks
- Submission of a voting proposal, with previously known consequences and recipients (can be testnet)
- Onchain voting on proposal with at least 2 participants / identities (can be testnet)
- Successful vote needs to trigger something onchain. Can be an ERC20 or an NFT transfer (can be testnet)
- Voting status and process need to be shown in the frontend
- The solution may use existing libraries and code, but those must open software software
Deliverables: 01.11.2022, 23:59 (CET) first hand-in of your initial version of your challenge task (initial version, does not need to run). Second hand-in: 13.12.2022, 23:59 (CET) - well documented infrastructure (Readme.md or can be slides) and the source code (github/gitlab or similar) via invite or email to thomas.bocek-at-ost.ch. The code and configuration should be easy to read and/or well documented. For the presentation on the 14.12.2022, you should show the architecture, components, and design decisions in 10-15 min, a demo in 5-10 min, and the Q&A will be 5-10 min. After your presentation, you need to hand in your PDF presentation.
You are allowed to use any language, framework, and platforms. However, the supervisors are familiar with those: Java, Golang, JavaScript/TypeScript, Ethereum, Bitcoin, Linux.
Groups
There will be groups of 2-3 for the challenge task. During the challenge task, the group shall meet every week during exercise hours to work on the task and discuss the next steps. The groups shall utilize their homework times to work on the CT, besides the exercise time slots assigned on Wednesday. You do not have be present at the exercises. The groups shall determine and set-up an internal project plan and shall distribute the workload so that each group member gets a fair load of work. Group results will be only accessible via VPN.