Implementacja DApps w Ethereum z wykorzystaniem kontraktów w Solidity
LICZBA DNI: 4 (32h)
KOD KURSU: ETHER/DAPPS
O szkoleniu
DLA KOGO?
Programiści, którzy w praktyce chcą uruchomić i poznać zasady działania inteligentnych kontraktów oraz aplikacji rozproszonych wykorzystujących blockchain Ethereum, rozproszony system plików Swarm oraz protokół rozproszonej komunikacji Whisper
WYMAGANIA
Od uczestników wymagana jest znajomość obsługi komputera, pracy z wierszem poleceń oraz znajomość podstawowych zasad programowania, podstaw składni HTML, CSS i JavaScript
ZALETY
Podczas warsztatów uczestnicy samodzielnie uruchomią własną instancję środowiska Ethereum
Uczestnicy zaimplementują i przetestują kontrakty inteligentne dla tokenu oraz systemu trwałego nośnika wykorzystując ekosystem OpenZeppelin
W trakcie szkolenia uczestnicy utworzą aplikacje rozproszone DApps korzystające z uruchomionych kontraktów
Uczestnicy uruchomią rozproszony system plików do przechowywania aplikacji i dokumentów oraz rozproszoną komunikację pomiędzy węzłami sieci
Cele szkolenia
Poznanie zasad działania i zastosowań ekosystemu rozproszonego Internetu Ethereum obejmującego blockchain i kontrakty inteligentne, rozproszony system plików oraz rozproszoną komunikację
Program
Architektura i działanie Ethereum
- Blockchain jako rozproszona baza danych
- Architektura Ethereum
- Budowa blockchain w Ethereum oraz wykorzystywane algorytmy
- Uruchamianie prywatnego blockchain
- Przebieg i realizacja transakcji
- Aplikacja jako element blockchain
- Ether i gas jako paliwo dla transakcji
Kontrakty inteligentne (smart contracts) i programowanie w Solidity
- Maszyna wirtualna Ethereum
- Składnia języka Solidity
- Dostępne kompilatory i inne narzędzia dla Solidity
- Kompilacja i uruchamianie kontraktu
- Rodzaje dostępnej pamięci
- Typy danych oraz zmienne globalne
- Rejestracja zdarzeń
- Ekosystem OpenZeppelin
- Wybrane wzorce kontraktów: tokeny ERC20, ERC721 i ERC777 finansowanie społecznościowe (crowdfunding)
- Komunikacja pomiędzy kontraktami
- Techniki i narzędzia testowania
- Usuwanie i aktualizacja kontraktów w blockchain
- Zasady bezpiecznej implementacji kontraktów, wzorce typowych operacji
- Ataki na kontrakty
- Inne języki implementacji dla kontraktów (Serpent, LLL)
Ekosystem Ethereum
- Blockchain jako baza danych transakcji
- Rozproszony system plików Swarm jako nośnik aplikacji
- Protokół rozproszonej komunikacji Whisper
- Architektura aplikacji rozproszonej DApps
Aplikacje rozproszone DApps
- Interfejs programisty DApps dla Ethereum i jego rozszerzanie
- Komunikacja za pomocą RPC
- Interakcja przeglądarki z blockchain
- Zlecanie transakcji oraz przeglądanie blockchain, interakcja z kontraktami
- Wykorzystanie rozproszonego systemu plików Swarm
- Uruchomienie rozproszonej komunikacji za pomocą Whisper
- Niezawodność i bezpieczeństwo aplikacji rozproszonych
- Komunikacja z kontraktami w aplikacji Java
Zastosowania i kierunki rozwoju DApps
- Kierunki rozwoju kontraktów inteligentnych oraz języka Solidity
- Wybrane zastosowania DApps na przykładzie dostępnych aplikacji
