Decentralised Applications for Developers

Build decentralised applications using the Ethereum (3 days)

Duration
8 Hours

Level
Intermediate

Language
English

Audience
Technical Users

  • Overview
  • Agenda

Day1: Get familiar with Ethereum Development Tools

On the first day, we start with a short introduction to blockchain and smart contracts. Then, we get familiar with the Ethereum tool chain and Solidity. At the end of the day, we build a few simple smart contracts & ERC20 Token.

Day2: Build your first Dapp

On the second day, we build and deploy your first Dapp.

Day3: Truffle, IPFS & more

On the third day, we show you more tools and close the day with best practices

Day1: Introduction to blockchain & smart contracts

From database to blockchains, Signatures, Consensus mechanisms

Day1: Hands-on introduction to smart contracts

Wallet setup, Smart contract interaction, Blockchain explorers

Day1: Remix and “Hello World!” in Solidity

Remix IDE, Contract object, Hello World contract

Day1: Solidity basics

Data types, Contract-specific features, Modifiers

Day1: Simple token

Motivation for tokenization, a simple token implementation in Solidity, Exercises

Day1: ERC20

The ERC20 token standard, Decentralized exchanges, Client-only wallets

Day1: ERC20 implementation & summary

Events on Ethereum, Summary of the day

Day2: Security Considerations

Revisiting our game, the Sibyl attack, draft a solution

Day2: ICO Hands-on

From token to token sale contract, exercise, overview of token sale models

Day2: Interfacing Smart Contracts in Javascript

Web3.js, NodeJS setup, Connecting to an Ethereum node

Day2: Server-side integration of smart contracts

Interfacing smart contracts in nodeJS, Exercise: smart contract Slack bot

Day2: Formatting and signing transactions

Formatting raw transactions, signing raw transactions, low level transaction process in javascript

Day2: Fully client side Dapp

HTML + JS interface for smart contracts, Metamask, Boilerplate web app for smart contracts

Day2: Deploying via Remix and Metamask & summary

Testnets, Contract deployment, Summary of the day

Day3: Development & Testing Environment

Introduction to Truffle, Installing Truffle, Syntax

Day3: Truffle Setup in Action

Setting up tests, Tests for the ICO contract, Exercise

Day3: Tool presentation: Geth

Command line interface, Transactions via geth, Interfacing geth via Metamask, Remix, MyEtherWallet

Day3: IPFS integration

Introduction to IPFS, IPFS javascript API, Smart contracts and IPFS interaction

Day3: Exploits and best practices

Known exploits, Preventive measures, General best practices

Day3: My first $50M hack & summary

TheDAO exploit, Exercise: exploiting TheDAO-style, Summary of the workshop