Ethereum: Zero to dApp

Learn to Create Ethereum dApp’s


This 2-weeks course is designed for web/app developers who wish to understand how to create and/or integrate Ethereum based apps. The course gives a top down view of all the important aspects in creating such an app and a basic overview to how the Ethereum blockchain works.


Hands on experience in creating web apps
JavaScript a plus
1-years minimum as a developer
Students are required to bring their own laptops


Configure your Ethereum node – testRPC/parity
Create a working environment for deploying and interacting with smart contracts
Write your own tests for smart contracts
Read and write smart contracts written in Solidity
Explain how ERC20/223 tokens works, create your own tokens and offer them to the public with an ICO
Make your own token exchange with Ethereum using multiple different approaches
Deploy Multisig wallets
Create user interface that can work with Ethereum based applications

Accreditation is given to participants who pass with 70% score on all course examinations and successful completion of all of the coding assignments.

Course size: min 7, max 20

The Blockchain Academy reserves the right to cancel the Ethereum: Zero to dApp course at least 72 hours in advance via Email if we have not received seven or more confirmed applications. If the Ethereum: Zero to dApp is canceled by The Blockchain Academy then full refunds will be made. This means that the participant is aware that the event is not guaranteed to take place at the time of reservation.



Basic concepts and configuring a working environment:
The first lessons will cover some basic concepts in blockchains and the many tools it implements. We’ll cover some of the main differences between traditional and blockchain centered architecture and we’ll set our working environment and tools.

The origin of the blockchain and its basic working mechanism
Consensus and the blockchain. How to agree on things
Asymmetric (key) encryption
Transactions and scripts
How the Ethereum VM works. Storage, transactions, OP_CODES etc
Installing and configuring truffle framework
Creating a private blockchain using testRPC and parity
Working with RPC and HTTP requests
Using truffle to deploy smart contracts and run tests
Writing tests for our smart contracts
Using nodeJS as the back of our app
By the end of this module the students will be able to:

Explain the basic working mechanism of blockchain (specifically, the Ethereum blockchain and Virtual Machine).
Configure their own nodeJS, testrpc/parity nodes, and truffle projects.
Write simple tests for smart contracts

The main language used for creating smart contracts. In this session, we’ll cover some of it’s basic syntax and structure.

The smart contract as an object on the blockchain
Variables, types, arrays, mapping, memory and storage
Inheritance and classes. Interaction between contracts, calls and libraries
Functions, constructors, modifiers and control flow
In-line assembly
Security considerations
By the end of this module the students will be able to:

Write their own smart contracts using Solidity.
Compile and debug their smart contracts
Write useful test cases for their codes
Deploy their smart contracts to the Ethereum network
Interact with deployed smart contracts

Now that we know how to write, deploy, test and interact with smart contracts it’s time to see some real example in action. All topics in this section will be covered by learning and mimicking real running protocols.

ERC20 and ERC223 protocols
Token issuance mechanisms
Identity management systems (uport, civic etc.)
Token exchanges
Wallets and multisig
By the end of this module the students will be able to:

Create their own tokens.
Issue tokens to the public as an ICO
Create and interact with identity management system
Exchange tokens in a token exchange smart contract and in offline protocols
Deploy and use their own multisig wallet

We know how Ethereum works and how to write smart contracts for it. We’ve also created some sophisticated apps and made sense of contracts already running on the Ethereum blockchain. Now it’s time to create a user interface for our costumers/end users.

Using web3JS library
Connecting your app to an Ethereum node
Architectural considerations – how and when to use the blockchain
Building the proper framework for displaying and receiving information to/from the user
By the end of this module the students will be able to:

Connect any smart contract to a user interface
Demonstrate in a graphical way the working of their smart contracts

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License