Curriculum Curs Programare Blockchain, Ethereum & Solidity

Cursul Programare Blockchain, Ethereum & Solidity se adreseaza persoanelor care doresc sa invete sa dezvolte aplicatii blockchain.

Conditie de inscriere: cunostinte de baza de programare in orice limbaj, de linux si de limba engleza.

 

Tematica cursului cuprinde urmatoarele module

 

1. Introducere in Criptografie (5%)

Criptare simetrica si asimetrica

Functii Hash

Semnatura Digitala

Certificate Digitale

Steganografie

Lab: testarea tuturor conceptelor exemplificate folosind gpg si OpenSSL

 

2. Introducere in Cryptocurrencies si in sisteme descentralizate (5%)

Tehnologii Blockchain, Aplicatii descentralizate

Bitcoin

– istorie si descriere protocol

– adrese bitcoin, wallet si stocare securizata

– structura unei tranzactii, UTXO, fees, coinbase

– blocks & blockchain

– procesul de minare si proof-of-work

– anonimitate si securitate

Altcoins

– alte monede criptografice si sisteme blockhain

– forks (soft & hard)

 

3. Platforma Ethereum (20%)

– ce este si ce scop are Ethereum

– componente criptografice

– Ethereum Accounts

– Adresa contului (structura, generare etc)

– tranzactii si mesaje, gas

– Ethereum blockhain: procesul de minare, uncle, coinbase

– Smart contracts

– EVM (Ethereum Virtual Machine)

– geth, MEW

– securitatea platformei

Lab: setare Ethereum full node, creare conturi, web3js, instalare si folosire geth, minare tranzactii.

 

4. Solidity (50%)

– Mediul de lucru, IDE, Remix Browser

– sintaxa solidity, comentarii, natspec, import etc

– variabile de stare (state variables) si storage

– variabile si functii predefinite

– tipuri de date: bool, integers, arrays, address, enum, mapping

– functii: utilizare, sintaxa, return, tipuri de functii (internal vs. external), getter, setter, constructor

– vizibiliate functii si variabile (private, public, internal, external)

– function modifiers

– payable & fallback functions

– events

– structuri decizionale

– interactinea dintre contracte

– contracte abstracte si interfete

– consideratii de securitate

– security best practice for smart contracts

Lab:

– exemplificarea tuturor conceptelor de mai sus in Smart Contracts

– creare Token contract (ERC20)

– creare Crowdsale (ICO) contract

– creare Voting contract

– creare DAPPs (Desentralized Applications)

– Enterprise development: truffle si OpenZeppelin

 

5. Ethereum Blockchain Deployment (20%)

Lab: setare si folosire testrpc, web3js

Lab: setare private blockchain, smart contracts deployment cu geth, mew si truffle si minare tranzactii

Lab: smart contracts deployment pe Testnet Rinkeby cu geth, MEW si truffle.

Lab: smart contracts deployment on Live Ethereum Blockchain

 

Prerequisite inscriere curs: cunostinte de baza de programare in orice limbaj, de Linux si de limba engleza.