OPANUJ
TECHNOLOGIĘ BLOCKCHAIN
CZAS TRWANIA:
19 CZERWCA – 31 LIPCA 2024
PONIEDZIAŁKI I ŚRODY
18:00–20:00
POZIOM: JUNIOR / MIDDLE
Multidyscyplinarne szkolenie z zakresu technologii blockchain, na którym zrozumiesz, jak funkcjonują aplikacje zdecentralizowane i smart kontrakty. Nauczysz się programować, obsługiwać i wdrażać nowoczesne aplikacje Web 3.0. Poznasz takie zagadnienia jak GameFi, DAO, DeFi, stworzysz własne tokeny NFT i wykorzystasz je w praktyce. Dołącz już dziś i zdobądź wiedzę, która stanowi fundamenty współczesnej branży IT.
KURS JEST PRZEZNACZONY DLA:
-
Deweloperów oprogramowania
Zdobądź nowe umiejętności i naucz się tworzyć aplikacje zdecentralizowane. Wejdź do świata blockchain i opanuj podstaw Solidity. Na kursie poznasz praktyczne zastosowania tej technologii i dowiesz się, jak ją wykorzystać w obecnych oraz przyszłych projektach.
-
Specjalistów IT
Chcesz poznać technologię blockchain? Dołącz do kursu, na którym nauczysz się jak działają sieci zdecentralizowane, zaprogramujesz swoje pierwsze smart kontrakty i postawisz lokalne sieci testowe. Praca przy rozwiązaniach dla branż regulowanych otworzy przed tobą nowe możliwości zawodowe.
-
Założycieli start-upów i przedsiębiorców technologicznych
Jesteś founderem z wiedzą programistyczną? Poszerz wiedzę o to, jak funkcjonują kryptowaluty i sieci blockchain. Wprowadzimy cię do świata zdecentralizowanych organizacji (DAO) i finansów (DeFi), nauczysz się programować aplikacje Web 3.0 i zrozumiesz, jak funkcjonują start-upy z tej branży.
GŁÓWNE TEMATY:
-
Technologia blockchain Zyskasz solidne podstawy teoretyczne i praktyczne dotyczące działania technologii blockchain, w tym Ethereum i jego ekosystemu. Pozwoli ci to zrozumieć kluczowe koncepcje takie jak: bloki, łańcuchy, kryptografia i smart kontrakty.
-
Programowanie smart kontraktów Zdobędziesz kompetencje w pisaniu, testowaniu i wdrażaniu smart kontraktów w Solidity, co jest niezbędne do tworzenia zaawansowanych aplikacji w blockchainie.
-
PROJEKT KOŃCOWY – DAPP DO ZARZĄDZANIA AKTYWAMI CYFROWYMI Stworzysz w pełni funkcjonalny projekt, za pomocą którego będziesz zarządzać portfelem różnorodnych aktywów cyfrowych (kryptowaluty, tokeny, NFT). Przygotujesz i przetestujesz kontrakty reprezentujące tokeny cyfrowe oraz tokeny NFT.
PROWADZĄCY
DAMIAN
GĄDZIAK
- Założyciel oraz Blockchain Developer w DevChain (agencja specjalizująca się w projektowaniu zdecentralizowanych aplikacji) oraz współzałożyciel kilku start-upów e-commerce
- Ma ponad 12 lat doświadczenia w programowaniu, z czego 6 lat przeznaczył na rozwój aplikacji wykorzystujących technologię blockchain
- Pracował dla start-upów, banków i korporacji tworząc systemy CRM, giełdy, kantory, systemy do arbitrażu i handlu oraz prowadząc IEO/ICO dla swoich klientów
- Otrzymał wyróżnienie „Honorable Mentions” od Google za prace nad znalezieniem i zdiagnozowaniem błędu bezpieczeństwa w jednej z usług Google
- Uzyskał certyfikat „AI Devs 2 – Connect GPT-4 with application and automation logic”
- Zajął trzecie miejsce w konkursie organizowanym przez Krajową Administrację Skarbową na stworzenie oprogramowania „Inteligentny robot do walki z cyberprzestępczością”
- Współpracował z firmami:
PROGRAM KURSU
19.06.2024, środa, 18:00 - 20:00
Wprowadzenie do technologii blockchain
- Czym są kryptowaluty, tokeny i blockchain?
- Mocne i słabe strony tej technologii
- Ideologia technologii i projektów Web3
- Podstawy bezpieczeństwa cyfrowego
- Algorytmy proof-of-work i proof-of-stake
- Czym są hard forki i soft forki?
- Rodzaje sieci blockchain: publiczne, prywatne, testowe
- Mechanizm sieci blockchain, konsensus, synchronizacja
- Demonstracja działania blockchain na przykładzie integracji ze smart kontraktem
24.06.2024, poniedziałek, 18:00 - 20:00
Podstawy kryptografii, tworzenie adresu portfela
- Wprowadzenie do kryptografii
- Wyjaśnienie hashowania na przykładzie blockchaina
- Wyjaśnienie szyfrowania oraz infrastruktury klucza publicznego (PKI)
- Demonstracja użycia kluczy prywatnych i publicznych
- Utworzenie własnego adresu w sieci blockchain
- Zarządzanie portfelem, odtworzenie adresu za pomocą klucza prywatnego lub mnemonic phrases
- Podpisanie wiadomości za pomocą własnego adresu
26.06.2024, środa, 18:00 - 20:00
Podstawy ekosystemu Ethereum, działanie transakcji
- Wprowadzenie do popularnych portfeli kryptowalut (MEW, MetaMask, portfele sprzętowe)
- Demonstracja węzła sieci blockchain na przykładzie węzła testowego Ethereum
- Przedstawienie ideii Faucet
- Ethereum Virtual Machine i jego rola w wykonywaniu smart kontraktów
01.07.2024, poniedziałek, 18:00 - 20:00
Podstawy programowania w Solidity
- Struktura i składnia
- Typy danych
- Zmienne: stałe, globalne, lokalne
- Funkcje: definicja, modyfikatory dostępu, typy zwracane
- Kontrola przepływu: if, else, for, while, do-while
- Obsługa wyjątków: assert, require, revert, try/catch
- Struktury danych: tablice, struktury, mapowania (mappings), enum
- Modyfikatory funkcji i warunki dostępu
- Dziedziczenie i interfejsy w Solidity
- Wzorce projektowe w Solidity: Factory, Singleton, Proxy
- Optymalizacja kosztów gazu
- Deployment smart kontraktów: narzędzia i środowiska (Remix, Truffle, Hardhat, Ganache)
- Contract Wizards
03.07.2024, środa, 18:00 - 20:00
Wprowadzenie do programowania smart kontraktów, tworzenie własnego tokena
- Standardy tokenów: ERC-20, BEP-20
- Podstawy tworzenia smart kontraktu dla tokena
- Wprowadzenie do Remix IDE
- Implementacja standardu ERC-20
- Funkcje i zdarzenia w standardzie ERC-20
- Mechanizmy transferu i zatwierdzania transakcji
- Implementacja mechanizmów bezpieczeństwa i antyspamowych
- Deployment tokena w sieci Polygon Mumbai w środowisku Remix IDE
- Najlepsze praktyki i wzorce w programowaniu tokenów
08.07.2024, poniedziałek, 18:00 - 20:00
Programowanie tokenów NFT
- Wprowadzenie do NFT (Non-fungible tokens)
- Różnice między tokenami fungible (zamiennymi) a non-fungible (niezamiennymi)
- Standardy tokenów NFT: ERC-721 i ERC-1155, omówienie różnic i zastosowania
- Funkcje i zdarzenia w standardach ERC-721 i ERC-1155
- Metadane i ich przechowywanie
- Minting (wybijanie) tokenów NFT
- Zarządzanie własnością i transferem NFT
- Użycie biblioteki OpenZeppelin do tworzenia NFT
- Integracja NFT z aplikacjami i grami
10.07.2024, środa, 18:00 - 20:00
Testowanie smart kontraktów
- Testowanie smart kontraktów (Truffle, Hardhat, Foundry)
- Wykorzystanie JavaScript i TypeScript do testowania smart kontraktów
- Mockowanie i stubbing w testach smart kontraktów
- Testowanie bezpieczeństwa smart kontraktów (reentrancy, overflow/underflow, etc.)
15.07.2024, poniedziałek, 18:00 - 20:00
Programowanie DApp. Interakcja z kontraktami
- Instalacja i konfiguracja bibliotek web3.js i ethers.js
- RPC – czym są?
- Obsługa kont za pomocą web3.js
- Wysyłanie kryptowaluty i zarządzanie transakcjami
- Zarządzanie wieloma sieciami blockchain i przełączanie między nimi
- Metody web3.js do pracy z walutami web3.utils
17.07.2024, środa, 18:00 - 20:00
Programowanie DApp. Autoryzacja użytkownika i obsługa zdarzeń
- Wprowadzenie do autoryzacji i zarządzania tożsamością w DApps
- Używanie portfeli kryptowalutowych jako metody autoryzacji
- Podpisywanie wiadomości i transakcji dla autoryzacji użytkownika
- Zarządzanie sesją użytkownika w aplikacjach zdecentralizowanych
- Integracja z zewnętrznymi systemami autoryzacji i tożsamości
- Wykorzystanie Infury jako RPC dla prywatnego projektu
- Obsługa zdarzeń w smart kontraktach
22.07.2024, poniedziałek, 18:00 - 20:00
Programowanie DApp. Lazy minting NFT, IPFS, bezpieczeństwo
- Lazy minting w kontekście NFT
- Różnice między standardowym mintingiem a Lazy mintingiem
- Implementacja lazy mintingu w smart kontraktach NFT
- Zarządzanie metadanymi przy Lazy minting
- Wprowadzenie do IPFS (InterPlanetary File System)
- Wykorzystanie podpisów cyfrowych do autoryzacji lazy minting
- Role i uprawnienia w smart kontraktach
- Oszczędność kosztów gazu dzięki lazy minting
- Bezpieczeństwo w kontekście przechowywania klucza prywatnego, potencjalne zagrożenia
24.07.2024, środa, 18:00 - 20:00
Wprowadzenie do programowania DAO
- Wprowadzenie do DAO (Decentralized Autonomous Organizations)
- Tworzenie smart kontraktów dla DAO
- Platformy i narzędzia do tworzenia DAO (Aragon, DAOstack, Colony)
- Mechanizmy głosowania w DAO (jednogłosowe, kworum, ważone głosy)
- Rola DAO w ekosystemie DeFi
25.07.2024, czwartek, 18:00 - 20:00
Wprowadzenie do programowania DeFi
- Podstawy smart kontraktów dla DeFi (Decentralized Finance).
- Działanie zdecentralizowanych giełd (DEX).
- Protokoły pożyczkowe w DeFi.
- Stablecoins i ich zastosowanie w DeFi.
- Yield farming i strategie zarządzania kapitałem.
- Liquidity pools i Automated Market Makers (AMM).
- Governance tokens i mechanizmy zarządzania w DeFi.
- Zabezpieczanie transakcji i zarządzanie ryzykiem.
- Integracja z innymi protokołami i cross-chain DeFi.
29.07.2024, poniedziałek, 18:00 - 20:00
Audyt smart kontraktów oraz case study wybranego projektu
- Znaczenie bezpieczeństwa smart kontraktów
- Najczęstsze luki i podatności w smart kontraktach
- Proces i narzędzia do audytu smart kontraktów (np. Mythril, Slither, Echidna)
- Ręczne vs automatyczne techniki audytu
- Testowanie fuzzingowe i jego rola w audycie
- Przegląd i analiza kodu przez ludzi (peer review)
- Zarządzanie ryzykiem i tworzenie raportów z audytu
31.07.2024, środa, 18:00 - 20:00
Inne popularne technologie blockchain + prezentacja projektów
- Binance Smart Chain (BSC), Polkadot, Cardano, Solana i Avalanche
- Rust [Solana], Plutus [Cardano]
- Prezentacja projektów końcowych
Dowiedz się więcej
i skorzystaj z promocji
Wypełnij formularz, a nasz doradca edukacyjny skontaktuje się z tobą i przekaże szczegóły o programie i cenie kursu.
FAQ
-
01
Wymagania przed rozpoczęciem kursu
- Podstawowa znajomość programowania
Zrozumienie podstawowych koncepcji programowania, takich jak zmienne, pętle, warunki i funkcje, jest kluczowe. Pomaga to w szybkim przyswajaniu języka Solidity i innych technologii blockchain. - Podstawy pracy z linią poleceń
Podstawowa umiejętność korzystania z terminala lub wiersza poleceń jest przydatna, ponieważ wiele narzędzi blockchainowych (np. Hardhat) używa się przez linię poleceń. - Zrozumienie technicznego języka angielskiego
Dokumentacja, narzędzia i zasoby edukacyjne dotyczące blockchaina i programowania są w większości dostępne w języku angielskim. Umiejętność czytania ze zrozumieniem w tym języku jest niezbędna.
- Podstawowa znajomość programowania
-
02
Wymagania sprzętowe
- Komputer z dostępem do internetu
- Pamięć operacyjna – min 8 GB RAM
- System operacyjny – Windows 10/11, MAC OS lub Linux
-
03
Opis narzędzi używanych w kursie
- MetaMask
Portfel kryptowalutowy i aplikacja do interakcji z blockchainem Ethereum, działająca jako rozszerzenie przeglądarki internetowej. Umożliwia użytkownikom zarządzanie kontami Ethereum, wykonywanie transakcji i interakcję z DApps bezpośrednio z przeglądarki - Ganache
Lokalne środowisko blockchain, które umożliwia szybkie tworzenie i testowanie aplikacji Ethereum. Symuluje pełną funkcjonalność sieci Ethereum, pozwalając na testowanie smart kontraktów w kontrolowanym środowisku bez kosztów związanych z użyciem prawdziwej sieci - Solidity
Język programowania używany do pisania smart kontraktów działających na blockchainach kompatybilnych z Ethereum - web3.js/ethers.js
Biblioteki języka JavaScript, które pozwalają na interakcję z siecią Ethereum z poziomu aplikacji internetowych. Umożliwiają interakcję ze smart kontraktami i odczytywanie danych z blockchaina - EVM
Wirtualna maszyna odpowiedzialna za wykonywanie kodu smart kontraktów w sposób zdecentralizowany. Dzięki EVM, deweloperzy mogą tworzyć aplikacje działające na blockchainie Ethereum, niezależnie od środowiska wykonawczego. EVM zapewnia bezpieczeństwo i izolację dla wykonywanych programów, co pozwala na bezpieczne wykonanie kodu smart kontraktu przez każdy węzeł w sieci Ethereum - Smart kontrakty
Programy komputerowe, które automatycznie wykonują określone działania, gdy spełnione są zdefiniowane warunki. Są one zapisywane na blockchainie, co zapewnia ich niezmienność i transparentność. Smart kontrakty umożliwiają tworzenie zaufanych transakcji i umów między różnymi stronami bez potrzeby pośrednika, otwierając drogę do automatyzacji procesów, tworzenia zdecentralizowanych aplikacji (DApps) i tokenizacji aktywów - ERC-1155
Standardowy token na Ethereum (niepodzielne lub podzielne NFT, czyli może być zarówno 1 token NFT reprezentujący np. kartę w grze albo 100 takich tokenów, zależy od tego jak programista zaprojektuje ten token), który umożliwia jednoczesne tworzenie zarówno fungible (podzielnych), jak i non-fungible (niepodzielnych) tokenów w ramach jednego kontraktu. Jest to bardziej elastyczne rozwiązanie w porównaniu do innych standardów, takich jak ERC-20 i ERC-721, ponieważ pozwala na efektywniejsze zarządzanie i transfer wielu typów aktywów w jednej transakcji. Szczególnie przydatne w grach i aplikacjach wymagających różnorodnych typów aktywów - ERC-721
Standard dla non-fungible tokens (niepodzielne NFT, czyli może być tylko 1 token NFT reprezentujący np. kartę w grze) na Ethereum, który umożliwia tworzenie unikalnych, niepodzielnych tokenów. Każdy token ERC-721 jest wyjątkowy i może reprezentować dowolny aktyw cyfrowy lub rzeczywisty, co sprawia, że jest idealny do zastosowań takich jak cyfrowa sztuka, kolekcjonowanie, gry i wiele innych. Standard ten pozwala na śledzenie własności i transfer pojedynczych tokenów - ERC-20
Standard tokena na Ethereum, który umożliwia tworzenie wymienialnych tokenów używanych najczęściej jako waluty cyfrowe, środki w systemach głosowania, punkty w systemach lojalnościowych i wiele innych. Jest to najbardziej rozpowszechniony standard tokenów na Ethereum, zapewniający spójność i interoperacyjność między różnymi projektami i aplikacjami. ERC-20 określa zestaw wspólnych reguł, które muszą być spełnione przez wszystkie tokeny oparte na tym standardzie, co ułatwia deweloperom tworzenie kompatybilnych tokenów i aplikacji - Remix
Prosty w użyciu edytor i kompilator smart kontraktów działający w przeglądarce internetowej. Umożliwia szybkie pisanie, testowanie i wdrażanie smart kontraktów napisanych w Solidity bez potrzeby instalacji dodatkowego oprogramowania - Truffle
Kompleksowe środowisko deweloperskie dla Ethereum, które pomaga w tworzeniu, testowaniu i wdrażaniu smart kontraktów. Ułatwia zarządzanie projektami blockchain dzięki automatyzacji wielu zadań deweloperskich - Hardhat
Narzędzie służące do rozwoju smart kontraktów, które zapewnia zaawansowane funkcje takie jak lokalne środowisko blockchain do testowania, automatyczne testowanie i zadania deweloperskie. Pomaga w budowaniu zaawansowanych aplikacji blockchainowych z większą efektywnością - Foundry
Zestaw narzędzi dla deweloperów Ethereum, skupiający się na szybkości i efektywności podczas tworzenia i testowania smart kontraktów. Oferuje wydajne środowisko do ciągłego rozwijania i testowania kodu - IPFS (InterPlanetary File System)
System przechowywania plików, który rozprasza dane po wielu komputerach, by były bezpieczne i trudne do usunięcia - OpenZeppelin
Biblioteka kodów źródłowych dla smart kontraktów, oferująca gotowe, bezpieczne komponenty - Aragon
Platforma do tworzenia zdecentralizowanych organizacji, umożliwia zarządzanie i automatyzację ich działalności - DAOstack
Zestaw narzędzi dla zdecentralizowanych organizacji, ułatwiający zarządzanie i podejmowanie decyzji - Colony
Platforma dla zdecentralizowanych organizacji, pomaga w zarządzaniu projektami i pracą zespołową - Mythril
Narzędzie do analizy bezpieczeństwa smart kontraktów, wyszukuje potencjalne błędy i luki - Slither
Inne narzędzie do analizy bezpieczeństwa smart kontraktów, pomaga znaleźć problemy w kodzie - Echidna
Narzędzie do testowania smart kontraktów poprzez generowanie losowych danych wejściowych i obserwowanie zachowań - Infura
Platforma oferująca dostęp do sieci Ethereum poprzez łatwe w użyciu API, bez konieczności uruchamiania własnego węzła - Binance Smart Chain (BSC)
Blockchain stworzony przez giełdę Binance, zaprojektowany do szybkich transakcji i niskich opłat - Polkadot
Technologia umożliwiająca różnym blockchainom współpracę i wymianę danych między sobą - Cardano
Blockchain, który wykorzystuje unikalny system konsensusu i skupia się na bezpieczeństwie i trwałości - Solana
Blockchain zaprojektowany do przetwarzania dużych ilości transakcji bardzo szybko i efektywnie - Avalanche
Platforma blockchain, która oferuje szybkie transakcje i niskie opłaty, konkurująca z Ethereum - Rust
Język programowania znany z wydajności i bezpieczeństwa, używany w niektórych projektach blockchain, np. Solana - Plutus
Język programowania używany na blockchainie Cardano do tworzenia smart kontraktów
- MetaMask