Programowanie z blockchainem 1000-2M24PZB
• Zdecentralizowany konsensus
• Regulacja pisania w konsensusie
• Modele księgowania
• Ekosystemy: Ethereum i EVM, Bitcoin, Cardano
• Kontrakty programowalne (Solidity)
• Tokeny
• NFT
• Wyrocznia, DEX, pomost
• Bezpieczeństwo kontraktów programowalnych
• Rozgłaszanie treści (P2P)
• Przyspieszanie transakcji
• Rozproszone systemy nazw (ENS)
• Tokenomika
Tryb prowadzenia
Założenia (opisowo)
Koordynatorzy przedmiotu
Efekty kształcenia
Student rozumie:
1. Model księgi zdecentralizowanej (decentralized ledger)
2. Różnice między ekosystemami blockchainowymi (Ethereum, Bitcoin i inne).
3. Najczęściej spotykane rodzaje kontraktów programowalnych (tokeny, wy-
rocznie, zdecentralizowane giełdy, pomosty).
Student potrafi stworzyć:
1. Stworzyć kontrakt programowalny w Solidity (smart contract) działający
w ekosystemie Ethereum.
2. Aplikację zdecentralizowaną na Web3 (IPFS+Ethereum).
3. Token wymienny (fungible) i NFT.
4. Automatyczne testy dla powyższych.
Kompetencje:
1. Język programowania Solidity
2. Podstawy bezpieczeństwa kontraktów programowalnych (smart contractów)
i aplikacji zdecentralizowanych
3. Znajomość kultury zdecentralizowanej
Kryteria oceniania
Dwa kolokwia (2x10pkt), wysyłanie wyników pracy po każdej sesji laboratoryjnej
prowadzącemu (15pkt) oraz projekt zaliczeniowy (85pkt). Zaliczenie wymaga 90
ze 120 pkt. (wysoki próg wynika z wymagań cyberbezpieczeństwa w praktyce i
trudności tematu).
Projektem zaliczeniowym jest aplikacja złożona z kontraktu programowalnego i strony Web3 do jego obsługi (50pkt) oraz cztery dokumenty projektowe (35pkt) opisujące projekt, jego architekturę, plan testowania i perspektywy.
Dokumenty projektowe to:
1. Propozycja projektu (punktowane wraz z prezentacją - pitch, 10 pkt)
2. Projektu architektury projektu zdecentralizowanego (10pkt)
3. Plan marketingu i przyszłego rozwoju takiego projektu (5pkt)
4. Porównanie z prezentacjami konkurencji (10pkt)
Literatura
• Dokumentacja Ethereum:
http://www.ethdocs.org/en/latest
• Ethereum Improvement Proposals (EIP):
https://eips.ethereum.org/erc
• Dokumentacja Solidity:
https://solidity.readthedocs.io/en/develop/Dokumentacja
• Solidity by Example:
https://solidity-by-example.org/
• Wagmi:
https://wagmi.sh/
• Metamask:
https://metamask.io
• Kontrakt Uniswap:
https://github.com/Uniswap/v2-core
Więcej informacji
Więcej informacji o poziomie przedmiotu, roku studiów (i/lub semestrze) w którym się odbywa, o rodzaju i liczbie godzin zajęć - szukaj w planach studiów odpowiednich programów. Ten przedmiot jest związany z programami:
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: