Blockchain Course
BlockTech Corp
Exercises marked with a * are intermediate
Course Overview
The course is going to be covered covered within 6 months, which equals to 120 academic
hours, from now on ah (1 ah = 40 minutes). The primary objective is going to be
introduction and mastery of topics, such as Blockchain, Ledgers, dApps…
The course is customized for students, who already have prior coding knowledge,
experience. It does not have any special requirements, however, Javascript and node.js
(asynchronous event driven JavaScript runtime) k nowledge, is highly recommended.
Chapters
THEORETICAL
In the theoretical part of the course, students will structure a broad understanding
of how Blockchain works, what the Ethereum server is…
However, it’s recommended, that in this part of the course the consensus is more on
the theoretical aspect, than on the practical aspect.
[
Chapter 1: Introduction
1.1. Introduction to the concept of decentralization, dApps and ledgers: 1
ah
1.2. Introduction to Blockchain, how it works, introduction to the processes of mining,
hashing, encryption and how they work: 1-2 ah
1.3. Theoretical(no coding involved) introduction to Ether, Ethereum, Smart contract,
tests networks : 2 ah
1.4. More detailed introduction to hashing, blocks, private and public keys: 1
ah
1.5. Quiz: Testing of the information gained. (More emphasis on Smart Contracts and
ledgers) 1 ah
Chapter 2: Ethereum
2.1. What it is, how it works, E
VM, introduction of the idea of Turing completeness, (if
already introduced, affect on how Etherium is Turing complete), explore on the Ethereum
philosophy: 2
ah
2.2. Reflect on the major issues of Etherium, such as scalability, volatility...
Exercises marked with a * are intermediate
2.3. How M essages and T
ransactions occur in Ethereum, introduction to the idea of
GASPRICE and STARGAS: 3-4 ah
2.4 White paper bitcoin 2
ah
2.5. White paper ether 3
ah
2.6. Yellow paper Ethereum 2
ah
2.7. dApp architecture, how nodes work, make a connection 3 ah
2.8. Quiz: Testing of the information gained. (More emphasis on the Technical Aspect)
1 ah
]
Practical
In the practical part of the course, students will become familiar with Solidity, and
will be able to use Truffle, therefore, being able to write code.
However, it’s recommended, that in this part of the course the consensus is more on
the practical aspect.
[
Chapter 3: Solidity
For installation click on this text and follow the instructions
3.1. Layout of the Source File 1
ah
Including the very basics and the beginnings, such as Version Pragma, importing source
files, paths, comments
3.2. Structure of a Smart Contract
State Variables(1 ah), Functions and F unction Calls(2-3 ah), Function Modifiers(3 ah),
Events(2 ah), S
truct Types(2 ah), E
nums(2 ah)
3.3. Types
Value Types (2 ah), R
eference Types (3 ah), C
onversi ons (1-2 ah)
3.4 Units and gavs (1 ah)
Exercises marked with a * are intermediate
3.5. Expressions and Control Structures
Function Parameters and Return Variables, Control Structures ( 1 ah), F unction Calls(1 ah,
already covered, repeat), Creating Contracts via n ew, Order of Evaluation of Expressions
(1 ah), A
ssignment, Scoping and Declarations, E
rror handling: Assert, Require, Revert and
Exceptions ( 1 ah)
3.6 Contracts
Creating Contracts, V isibility and Getters, (1 ah) F unction Modifiers, C onstant State
Variables (2 ah), Functions (2 ah), E
vents, Inheritance ( 2 ah), A
bstract Contracts ( 1 ah),
Interfaces, Libraries, Using For ( 2 ah)
3.7 Solidity Assembly (2 ah)
3.8 Common exploits within Solidity (2 ah)
3.9 Cheat Sheet (1 ah)
Main purpose is to cover everything learned
3.10 Exercises
1. Solidity in “Action” (1 ah)
2. Crypto Zombies (2-3 ah)
3. Intro to Smart Contracts on Ethereum (Part 1)
4. Library Driven Development *
3.11 Quiz: Testing the code knowledge.
Recommended test format: Writing a Smart Contract for a given problem/scenario ( 1 ah).
Chapter 4: Truffle
4.1 Creating Project (1 ah)
Installation, Creating a Project, Truffle Boxes
4.2 Compiling and M
igrations (1 ah)
4.3 Interaction with the c ontracts and M
etamask (2 ah, the link on contracts is for
documentations)
4.4 Package M
anagement (1 ah)
Exercises marked with a * are intermediate
4.5 Debugging (1-2 ah)
4.6 Truffle Develop and The Console, W riting External Scripts, U
sing The Build
Pipeline (1 ah)
4.7 Testing (2 ah)
Testing Your Contracts, W
riting Tests in JavaScript, W
riting Tests in Solidity
4.8 Overview of Ganache (1-2 ah)
4.9 Examples ( 1-2 ah)
dApp, UI(Metamask), testing
4.10 Mocha (2 ah)
Testing Hooks, Mocha Examples, & Test-Variables
4.11 Exercises
1. First Smart Contract w/Solidity + Truffle Pt1. & P art2 (2 ah)
2. Intro to Smart Contracts on Ethereum (Part 2 and 3) (2 ah)
3. Production Ready ÐApp End-to-End Dapp (2 ah)
4. dApp Architecture (1 ah)
5. Error Handling (1 ah)
6. CRUD & One to Many (2 ah) *
7. Storage Patterns (2 ah) *
4.12 Quiz: Coding and debugging a Smart Contract
Recommended test format: Writing and debugging a Smart Contract for a given
problem/scenario ( 1 ah).
Chapter 5: Advanced skills and exercises
Is going to include more advanced skills and exercises, such as Upgradeable Contracts,
Monax Tutorials, the intermediate exercises, from the previous chapters, if not already
covered, custom built pipeline for Truffle, Smart Contract Security, Ethereum Development
Tutorial…
P.S. This chapter is still a draft and not finalized, because of a creative burnout :)))
Exercises marked with a * are intermediate
P.S.S (the amount of academic hours of this chapter is undetermined, will most probably be
120-ex, where ex is the amount hours already used)
Chapter 5: Zap Oracles
Part 1 and practice exercises (1ah)
Part 2 and practice exercises (1ah)
Part 3 a
nd practice exercises (1ah)
Exercises (20 ah)
Will include the first projects, as practise material,such as Ethereum private net, helping
students fully comprehend and test their abilities. Also introduction to Zap Ethereum API
(working process) to particularly strong students.
]
Exercises marked with a * are intermediate