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

Preview:

Citation preview

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.

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

What is Blockchain and why should you care?

Ethereum - Infrastructure and the Capabilities it Supports

Capabilities● Trusted Ledger● Automation● Documentation Management

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

Scope of Blockchain Research Institute Research Program

What are core concepts a Dapp developer should know?

Web Application vs Dapp

WEB APP DAPP DAPP

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

How can you make a Dapp?

A Dapp Architecture - View the State of Contracts & Events

VIEW

STATE

CONTRACTS

INFRASTRUCTURE

REACT

REDUX

ETHEREUM

SOLIDITY

A Dapp Development Environment

Demo - YAEE - Yet Another Ethereum Explorer

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

Thank you

Recommended