14
Ethereum Dapp Development David Evans, CFA Senior Manager Portfolio Analytics Systems CPP Investment Board davidoevans @mod_evans davidoevans Disclaimer: The views and opinions expressed in this presentation are those of the presenter and do not necessarily reflect the views of CPP Investment Board.

Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

Embed Size (px)

Citation preview

Page 1: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

Ethereum Dapp DevelopmentDavid Evans, CFASenior ManagerPortfolio Analytics SystemsCPP Investment Board

davidoevans

@mod_evans

davidoevansDisclaimer: The views and opinions expressed in this presentation are those of the presenter and do not necessarily reflect the views of CPP Investment Board.

Page 2: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

My journey to an Ethereum Dapp Development Environment

July 2016 ● Ethereum Hackathon (BlockchainCanada.org)

● ether.camp● soliditybrowser● testnet● ethereumjs-testrpc● geth client

Sept-Nov 2016● MIT Fintech Course

Dec 2016● Introduction to Ethereum Smart Contract

Development (YouTube: Jordon Liegh & Will Warren)○ Atom IDE, Truffle, Solidity

● Web3, Read Solidity docs● ES5 ReactJS Course (Udemy: Mark Price)

Jan 2017● Building a Decentralised Blockchain

(UDemy: Ravinder Diol and Thomas Wiesner)● Redux (Dan Abrimov)● Web3● ES6 (Wes Bos)

Feb 2017● Truffle 3.1.1 working! (Tim Coulter)● ES7 async/await● MetaCoin

Mar 2017● YAEE - Yet Another Ethereum Explorer

Digital Identity and Government Services

Central Banks and Virtual Currencies

Page 3: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

What is Blockchain and why should you care?

Page 4: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

Ethereum - Infrastructure and the Capabilities it Supports

Capabilities● Trusted Ledger● Automation● Documentation Management

Infrastructure● Low Cost● Efficient● Distributed● Transparent● Secure

Page 5: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

Scope of Blockchain Research Institute Research Program

Page 6: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

What are core concepts a Dapp developer should know?

Page 7: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

Web Application vs Dapp

WEB APP DAPP DAPP

Page 8: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

Ethereum Terminology

EVM ● Collection of Ethereum clients

Accounts ● External or contracts

Clients ● Instances of Ethereum specification

Smart Contracts ● Code run by Ethereum clients, hold state

Events ● Triggered from smart contracts

Transactions ● Update state

Gas ● Fuel the EVM runs on

Ether ● Intrinsic currency of Ethereum

Page 9: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

How can you make a Dapp?

Page 10: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

A Dapp Architecture - View the State of Contracts & Events

VIEW

STATE

CONTRACTS

INFRASTRUCTURE

REACT

REDUX

ETHEREUM

SOLIDITY

Page 11: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

A Dapp Development Environment

Page 12: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

Demo - YAEE - Yet Another Ethereum Explorer

Page 13: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

Ethereum Dapp Development Resources

A Template Project https://github.com/davidoevans/react-redux-dapp

Ethereum Homestead http://ethdocs.org/en/latest/index.html

Solidity Docshttps://solidity.readthedocs.io/en/develop/

https://gitter.im/ethereum/solidity

testrpc https://github.com/ethereumjs/testrpc

trufflehttp://truffleframework.com/

https://gitter.im/ConsenSys/truffle

web3 gists https://gist.github.com/xavierlepretre

Solidity Browser https://ethereum.github.io/browser-solidity

Page 14: Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans

Thank you