Moodle FEL ČVUT
Úvodní kurz tvorby aplikací na blockchainu
B251 - Zimní 25/26
Úvodní kurz tvorby aplikací na blockchainu - BV93TAB
| Kredity | 4 |
| Semestry | zimní |
| Zakončení | Klasifikovaný zápočet |
| Jazyk výuky | čeština |
| Rozsah výuky | 2P+2S+2D |
Anotace
Předmět je úvodem do problematiky blockchainových technologií a jejich aplikací. Cílem je přiblížit studentům principy fungování blockchainových systémů na příkladech z praxe. Teoretická část se soustředí na vysvětlení základních pojmů (bloky, transakce, smart kontrakty, peněženky atp.), fungování sítě Ethereum a vybrané aplikace typu decentralizované burzy, půjčky či stablecoiny. Součástí je i kritické nahlédnutí na rizika a ukázka historických útoků. Praktická cvičení pak studenty provedou tvorbou vlastních jednoduchých aplikací na blockchainu až po komplexnější prototypy. Kurz je ukončen skupinovým projektem, ve kterém studenti navrhnou a odprezentují vlastní blockchainovou aplikaci.
Cíle studia
Smyslem předmětu je seznámit studenty s principy a fungováním blockchainových sítí a smart kontraktů, představit hlavní typy aplikací postavených na blockchainu (DeFi, stablecoiny, predikční trhy aj.), umožnit studentům získat základní praktické zkušenosti s programováním smart kontraktů včetně uživatelského rozhraní, testováním a nasazením, rozvíjet kritické myšlení při hodnocení výhod a rizik blockchainových řešení, podpořit týmovou práci na semestrálním projektu, kde studenti navrhnou vlastní funkční prototyp, motivovat k samostatnému objevování dalších možností využití blockchainu v různých oblastech společnosti.
Osnovy přednášek
1. Úvod do předmětu, základy blockchainu
2. Ethereum 101
3. Úvod do blockchainových aplikací
4. Tokeny
5. Decentralizované burzy
6. Půjčky
7. Stablecoiny
8. Oracles
9. Predikční trhy
10. Soukromí a škálování
11. Práce na semestrálním projektu I
12. Práce na semestrálním projektu II
13. Práce na semestrálním projektu III
14. Prezentace semestrálních projektů
2. Ethereum 101
3. Úvod do blockchainových aplikací
4. Tokeny
5. Decentralizované burzy
6. Půjčky
7. Stablecoiny
8. Oracles
9. Predikční trhy
10. Soukromí a škálování
11. Práce na semestrálním projektu I
12. Práce na semestrálním projektu II
13. Práce na semestrálním projektu III
14. Prezentace semestrálních projektů
Osnovy cvičení
1. Úvod do do předmětu, seznámení s prostředím
2. Základy smart kontraktů v Solidity
3. Nástroje pro blockchain full stack vývoj
4. Tokeny
5. Staking
6. Interaktivní hra
7. Decentralizovaná burza
8. Půjčky
9. Stablecoiny
10. Predikční trhy
11. Práce na semestrálním projektu I
12. Práce na semestrálním projektu II
13. Práce na semestrálním projektu III
14. Prezentace semestrálních projektů
2. Základy smart kontraktů v Solidity
3. Nástroje pro blockchain full stack vývoj
4. Tokeny
5. Staking
6. Interaktivní hra
7. Decentralizovaná burza
8. Půjčky
9. Stablecoiny
10. Predikční trhy
11. Práce na semestrálním projektu I
12. Práce na semestrálním projektu II
13. Práce na semestrálním projektu III
14. Prezentace semestrálních projektů
Literatura
Van Wirdum, Kalle. Grokking Bitcoin. Manning Publications, 2019.
Antonopoulos, Andreas M. Mastering Bitcoin: Unlocking Digital Cryptocurrencies. 2nd ed., O’Reilly Media, 2017.
Antonopoulos, Andreas M., and Gavin Wood. Mastering Ethereum: Building Smart Contracts and DApps. O’Reilly Media, 2018.
Russo, Camila. The Infinite Machine: How an Army of Crypto-Hackers Is Building the Next Internet with Ethereum. Harper Business, 2020.
Comben, Antony Lewis. The Basics of Bitcoins and Blockchains: An Introduction to Cryptocurrencies and the Technology That Powers Them. Mango Publishing, 2018.
Nakamoto, Satoshi. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008, https://bitcoin.org/bitcoin.pdf.
Buterin, Vitalik. Ethereum White Paper: A Next Generation Smart Contract & Decentralized Application Platform. 2013, https://ethereum.org/en/whitepaper/.
Solidity Documentation. “Introduction to Smart Contracts.” Soliditylang.org, Ethereum Foundation, https://docs.soliditylang.org/en/develop/introduction-to-smart-contracts.html.
Solidity by Example. Solidity by Example, https://solidity-by-example.org/.
Adams, Hayden, et al. Uniswap v3 Core. Uniswap Labs, 2021, https://uniswap.org/whitepaper-v3.pdf.
Stanford University. CS 251: Cryptocurrencies and Blockchain Technologies. Stanford University, https://cs251.stanford.edu/.
Antonopoulos, Andreas M. Mastering Bitcoin: Unlocking Digital Cryptocurrencies. 2nd ed., O’Reilly Media, 2017.
Antonopoulos, Andreas M., and Gavin Wood. Mastering Ethereum: Building Smart Contracts and DApps. O’Reilly Media, 2018.
Russo, Camila. The Infinite Machine: How an Army of Crypto-Hackers Is Building the Next Internet with Ethereum. Harper Business, 2020.
Comben, Antony Lewis. The Basics of Bitcoins and Blockchains: An Introduction to Cryptocurrencies and the Technology That Powers Them. Mango Publishing, 2018.
Nakamoto, Satoshi. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008, https://bitcoin.org/bitcoin.pdf.
Buterin, Vitalik. Ethereum White Paper: A Next Generation Smart Contract & Decentralized Application Platform. 2013, https://ethereum.org/en/whitepaper/.
Solidity Documentation. “Introduction to Smart Contracts.” Soliditylang.org, Ethereum Foundation, https://docs.soliditylang.org/en/develop/introduction-to-smart-contracts.html.
Solidity by Example. Solidity by Example, https://solidity-by-example.org/.
Adams, Hayden, et al. Uniswap v3 Core. Uniswap Labs, 2021, https://uniswap.org/whitepaper-v3.pdf.
Stanford University. CS 251: Cryptocurrencies and Blockchain Technologies. Stanford University, https://cs251.stanford.edu/.
Požadavky
Requirements include knowledge of English, as selected parts of the course will be conducted in English. For the practical sessions, each student will need a laptop.