Slide 1

Slide 1 text

Building Ethereum powered DApps Arpit Mathur @arpit

Slide 2

Slide 2 text

@arpit Quick Poll ● Software/Web Developers? ○ JavaScript? ■ React? ○ Rails?

Slide 3

Slide 3 text

@arpit Traditional App Stack

Slide 4

Slide 4 text

@arpit Decentralized App Stack

Slide 5

Slide 5 text

@arpit Communicating with the Network ● JSON RPC ● Web3.js ● Injected Web3.js ● Web dev framework (Truffle)

Slide 6

Slide 6 text

@arpit Ganache / Ganache CLI

Slide 7

Slide 7 text

@arpit Truffle ● “Rails for Ethereum Dapps” ● “Truffle Boxes”: Preconfigured projects http://truffleframework.com/

Slide 8

Slide 8 text

@arpit Remix IDE

Slide 9

Slide 9 text

@arpit Metamask ● Ethereum Wallet ● Chrome Extension ● Injects configured Web3.js into your page

Slide 10

Slide 10 text

@arpit A Simple Contract

Slide 11

Slide 11 text

@arpit Workflow ● Create Contract in Solidity ● Move Contracts to /contracts directory ● Compile contract: ○ `truffle compile` ● Run Ganache (local test net) ● Deploy Contracts ○ `truffle migrate` ● Import Contract JavaScript stub in your clientside code ○ import MyContract from '../../../build/contracts/MyContract.json' ● Execute functions on Contract in JavaScript (at the right address)

Slide 12

Slide 12 text

@arpit Profit?

Slide 13

Slide 13 text

@arpit Links and such! ● http://truffleframework.com ● https://solidity.readthedocs.io ● https://metamask.io/