Curriculum Curs Crytocurrencies & Programare Blockchain, Ethereum & Solidity

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

La curs se vor prezenta exemple practice, reale, printre care si smart contracts complete pentru:
– Loterie
– Auction (Licitatie descentralizata)
– CrowdFunding
– Moneda Criptografica (ERC20 Token) 

 

Conditie de inscriere: cunostinte de baza de programare in orice limbaj, de linux si de limba engleza. Laboratoarele se vor desfasura in Linux.

Tematica cursului cuprinde urmatoarele module

1. Sisteme criptografice

Criptare simetrica si asimetrica

– versus

– algoritmi

– avantaje si dezavantaje

– moduri de operare

Functii Hash

– proprietati

– securitate (coliziuni, 1st preimage, 2nd preimage)

Semnatura Digitala

– proprietati

– Plausible Deniability

– Ring Signatures

– Zero Knowledge Proof

Certificate Digitale

Steganografie

– versus criptografie

– mod de lucru

– aplicatii steganografice

 

Lab:

testarea tuturor conceptelor exemplificate folosind gpg si OpenSSL

– steghide

 

2. Cryptocurrencies si in sisteme descentralizate

Bitcoin

– adrese bitcoin, wallet si stocare securizata: cold storage, paper wallet

– structura unei tranzactii, UTXO, fees, coinbase

– tranzactii, blocks & blockchain

– anonimitate si securitate

– procesul de minare si proof-of-work

– Mining, Hashrate, target(bits), dificulty, merkle tree, merkle root

– Bitcoin Nework

– Full Node vs. Lightweight clients

– Network discovery

– Lightning Network

– SegWit

– multi signature wallets

Altcoins

– alte monede criptografice si sisteme blockhain

– forks (soft & hard)

Lab:

– setare wallet pe main net si test net

– generare trazactii, detalii

– block explorer

– setare multisignature wallet

– semnare tranzactii offline / cold storage

 

3. Platforma Ethereum

– ce este si ce scop are Ethereum

– componente criptografice

– Ethereum Accounts: EOA & Contracts

– Adresa contului (structura, generare etc)

– tranzactii si mesaje, call

– gas, opcodes

– Ethereum blockhain: procesul de minare, uncle, coinbase

– Smart contracts

– EVM (Ethereum Virtual Machine)

– securitatea platformei

Lab:

– geth, MEW, Metamask, Mist

– setare Ethereum full node & Light Client, creare conturi main net, Rinkeby, web3.js, instalare si folosire geth, minare tranzactii

 

4. Smart Contact Development (Solidity)

– 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

– arrays: fixed, dynamic, storage. Detalii.

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

– vizibiliate functii si variabile, securitate

– 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 detaliata a tuturor conceptelor de mai sus in Smart Contracts

– creare Token contract (ERC20 Token)

– creare CrowdFunding contract

– creare Auction (Licitatie) contract

– alte creare DAPPs (Desentralized Applications)

 

5. Ethereum Blockchain Deployment

Enterprise development: truffle si OpenZeppelin

Lab: setare si folosire Ganache, web3.js

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

Lab: smart contracts deployment pe Testnet Rinkeby cu Remix & Metamask, MEW si truffle.

Lab: smart contracts deployment on Live Ethereum Blockchain

 

6. Smart Contracts Front-End

– web3

– JavaScript

– React si Node.js

– Mocha Testing Framework

 

Prerequisite: cunostinte de baza de programare in orice limbaj si cunostinte de baza de Linux

Nota:

– la curs se vor realiza exemple reale, 100% functionale gata de a fi folosite

– exemplele vor fi explicate si realizate pas cu pas live de trainer si de fiecare cursant

– trainerul are experienta de peste 10 ani in programare si training

1 thought on “Curriculum Curs Crytocurrencies & Programare Blockchain, Ethereum & Solidity

Comments are closed.