SlideShare a Scribd company logo
1 of 14
Download to read offline
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.
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 Docs
https://solidity.readthedocs.io/en/develop/
https://gitter.im/ethereum/solidity
testrpc https://github.com/ethereumjs/testrpc
truffle
http://truffleframework.com/
https://gitter.im/ConsenSys/truffle
web3 gists https://gist.github.com/xavierlepretre
Solidity Browser https://ethereum.github.io/browser-solidity
Thank you

More Related Content

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

React for Non Techies
React for Non TechiesReact for Non Techies
React for Non TechiesJack Hoy
 
React for non techies
React for non techiesReact for non techies
React for non techiesAmy Crimmens
 
[Madmagz] Blockchain in a nutshell
[Madmagz] Blockchain in a nutshell[Madmagz] Blockchain in a nutshell
[Madmagz] Blockchain in a nutshellYoussef Rahoui
 
The State of Crypto Adoption & ETC
The State of Crypto Adoption & ETCThe State of Crypto Adoption & ETC
The State of Crypto Adoption & ETCElizabeth Kukka
 
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"Daniel Bryant
 
Ambassador: Building a Control Plane for Envoy
Ambassador: Building a Control Plane for Envoy Ambassador: Building a Control Plane for Envoy
Ambassador: Building a Control Plane for Envoy Ambassador Labs
 
Crunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONCrunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONDawn Foster
 
Crunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsCrunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsDawn Foster
 
Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)All Things Open
 
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM
 
Building a Startup in .NET
Building a Startup in .NETBuilding a Startup in .NET
Building a Startup in .NETMarcelo Calbucci
 
linkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service Meshlinkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service MeshDario Simonetti
 
Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0Matt Warren
 
Oracle JET and React Frontends.pptx
Oracle JET and React Frontends.pptxOracle JET and React Frontends.pptx
Oracle JET and React Frontends.pptxDan Curtis
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changesJaewoo Ahn
 
Front-end for Java developers Devoxx France 2018
Front-end for Java developers Devoxx France 2018Front-end for Java developers Devoxx France 2018
Front-end for Java developers Devoxx France 2018Deepu K Sasidharan
 
Getting involved in Kubernetes SIG-docs and Korean localization (Kubernetes f...
Getting involved in Kubernetes SIG-docs and Korean localization (Kubernetes f...Getting involved in Kubernetes SIG-docs and Korean localization (Kubernetes f...
Getting involved in Kubernetes SIG-docs and Korean localization (Kubernetes f...Seokho Son
 

Similar to Jonah Group TNS+ Presentation - Ethereum Dapp Development - Dave Evans (20)

React for Non Techies
React for Non TechiesReact for Non Techies
React for Non Techies
 
React for non techies
React for non techiesReact for non techies
React for non techies
 
React for non techies
React for non techiesReact for non techies
React for non techies
 
[Madmagz] Blockchain in a nutshell
[Madmagz] Blockchain in a nutshell[Madmagz] Blockchain in a nutshell
[Madmagz] Blockchain in a nutshell
 
The State of Crypto Adoption & ETC
The State of Crypto Adoption & ETCThe State of Crypto Adoption & ETC
The State of Crypto Adoption & ETC
 
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
 
Ambassador: Building a Control Plane for Envoy
Ambassador: Building a Control Plane for Envoy Ambassador: Building a Control Plane for Envoy
Ambassador: Building a Control Plane for Envoy
 
Crunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONCrunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCON
 
Crunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsCrunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community Metrics
 
Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)
 
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
 
Building a Startup in .NET
Building a Startup in .NETBuilding a Startup in .NET
Building a Startup in .NET
 
linkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service Meshlinkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service Mesh
 
Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0
 
Oracle JET and React Frontends.pptx
Oracle JET and React Frontends.pptxOracle JET and React Frontends.pptx
Oracle JET and React Frontends.pptx
 
Meteor
MeteorMeteor
Meteor
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changes
 
Driving development in PHP
Driving development in PHPDriving development in PHP
Driving development in PHP
 
Front-end for Java developers Devoxx France 2018
Front-end for Java developers Devoxx France 2018Front-end for Java developers Devoxx France 2018
Front-end for Java developers Devoxx France 2018
 
Getting involved in Kubernetes SIG-docs and Korean localization (Kubernetes f...
Getting involved in Kubernetes SIG-docs and Korean localization (Kubernetes f...Getting involved in Kubernetes SIG-docs and Korean localization (Kubernetes f...
Getting involved in Kubernetes SIG-docs and Korean localization (Kubernetes f...
 

Recently uploaded

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 

Recently uploaded (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

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

  • 1. 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.
  • 2. 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
  • 3. What is Blockchain and why should you care?
  • 4. Ethereum - Infrastructure and the Capabilities it Supports Capabilities ● Trusted Ledger ● Automation ● Documentation Management Infrastructure ● Low Cost ● Efficient ● Distributed ● Transparent ● Secure
  • 5. Scope of Blockchain Research Institute Research Program
  • 6. What are core concepts a Dapp developer should know?
  • 7. Web Application vs Dapp WEB APP DAPP DAPP
  • 8. 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
  • 9. How can you make a Dapp?
  • 10. A Dapp Architecture - View the State of Contracts & Events VIEW STATE CONTRACTS INFRASTRUCTURE REACT REDUX ETHEREUM SOLIDITY
  • 11. A Dapp Development Environment
  • 12. Demo - YAEE - Yet Another Ethereum Explorer
  • 13. Ethereum Dapp Development Resources A Template Project https://github.com/davidoevans/react-redux-dapp Ethereum Homestead http://ethdocs.org/en/latest/index.html Solidity Docs https://solidity.readthedocs.io/en/develop/ https://gitter.im/ethereum/solidity testrpc https://github.com/ethereumjs/testrpc truffle http://truffleframework.com/ https://gitter.im/ConsenSys/truffle web3 gists https://gist.github.com/xavierlepretre Solidity Browser https://ethereum.github.io/browser-solidity