+ - 0:00:00
Notes for current slide
Notes for next slide

Decentralised Applications Development Club

DApps Dev Club

Kickoff Session

20/02/2019

1 / 27

Today

  • Intro
  • Partners
  • Sessions
  • Focus
  • Build what?
  • Just enough blockchain
  • What's a DApp?
  • Next session
  • Announcements
2 / 27

Intro

Brendan

  • Work mostly with NodeJs
  • Started DApps Dev Club

https://dappsdev.org/author/bguiz/

3 / 27

Intro

Brendan

Kenneth

  • Work mostly with Solidity
  • Runs the Blockchain & DApps meetup

https://dappsdev.org/author/kenneth/

4 / 27

Intro

Brendan

Kenneth

Why DADC?

  • Many blockchain meetups
  • None that focus on
    • teaching the underlying technology
    • how to develop apps
5 / 27

Intro

Brendan

Kenneth

Why DADC?

Book Club

  • Run like a book club meets tech meetup
  • Will actually be using a book
    • Mastering Ethereum
  • Format is heavily inspired by SingaporeJS' book club
6 / 27

Thanks

7 / 27

Thanks

8 / 27

Thanks

Michael Cheng of Engineers.SG

Engineers.SG

9 / 27

Thanks

10 / 27

Thanks

11 / 27

Community

  • series of meetups
  • meet + learn + build
  • workshops in person
  • work on projects between Sessions
12 / 27
  • We're not merely running a series of meetups
  • We're building a club, where members can meet with, learn from, and work with each other
  • In person component is like a workshop
  • In between sessions, work on further building what you've started during the sessions

Our Nexus

https://dappsdev.org

13 / 27
  • sessions
  • discord
  • rss
  • certificates
  • projects
14 / 27
  • https://dappsdev.org
    • be sure to check back on this site regularly for updates
  • emphasise RSS feed
    • show twitter
  • sessions page orientation
    • go through the list to see what's coming up
    • when venues and dates are confirmed, check back here for updates
  • discord
    • everyone here can join, and chat with each other between sessions
    • don't have to wait till the next one
  • certificates (optional)
    • Attendance, not attainment
    • Fun project that we as organisers will be building alongside the course itself
  • projects (optional)
    • Publish your WIP and completed projects here

Focus

  • Sessions: Freedom within a framework
  • Required knowledge
  • Too simple? Too advanced?
  • What you'll be learning

slides < code < discussions (unlike today)

15 / 27
  • Freedom within a framework
    • The sessions are designed around a loose idea of what DApp development is about
    • The actual space that DApps cover is far greater than what we can possibly hope to achieve
    • You as members can shape the direction of the series
  • Required knowledge
    • No need to know anything about blockchain
    • No need to know anything about smart contracts
    • No need to know anything about web3
  • What you'll be learning in the first series
    • Very briefly cover "just enough blockchain" as background info
    • Learn smart contracts from scratch, including solidity
    • Learn web3js from scratch, not including javascript
    • You do not need to already know JS to attend the series, but you'll need to learn it at a basic level

Build what?

  • DApps and CApps
  • ERC20
  • "wen ico? wen moon?"
  • Bring your ideas along to the next session!

break;

16 / 27
  • Over the course of these session it will become apparent:
    • How a DApp differs from a CApp
    • Which types of applications are suited to DApps and which are not
    • DApps and CApps can co-exist in the same ecosystem, in fact can even build a DCApp
  • ERC20 tokens and "wen ico? wen moon?"
    • That is not what we'll be doing in these sessions
    • Building an ERC20 token almost seems to be the "Hello World" as far as DApp tutorials go
    • Here we'd like to build something less cliche, and more interesting
  • Bring your ideas along to the next session!
    • When we break between topics, mingle with others
    • Ask each other what idea they would like to build for a DApp
    • If you're itching to get started on something, please introduce yourself and your idea to everyone here at the end of the session
  • break; - discuss ideas

Just enough blockchain

Blockchain

  • Debuted by Bitcoin
  • Transactions
  • So many things!
    • cryptography
    • p2p networking
    • distributed consensus
    • data structures
    • immutable ledger
17 / 27
  • DApps are built on top of a technology called blockchain
  • Bitcoin debuted the concept of a blockchain - 10 years ago
  • The blockchain is a very complex topic, and we could spend many sessions just talking about that alone
  • However, that is not our focus here - instead we are going to learn the minimum viable blockchain, in order to delve right into DApps development

Just enough blockchain

Blockchain

Ethereum Virtual Machine

  • Global computer
  • Transactions + Apps
  • Smart contracts
    • Pay a gas fee per function call
    • Similar to serveless
18 / 27
  • Ethereum first made it possible to build applications on top of the block chain
  • EVM is a global computer - every single node participating in the network runs the programs

Just enough blockchain

Blockchain

Ethereum Virtual Machine

Anders' Demo

  • Possibly the best explanation out there of how these fit together:
    • hashes
    • blocks
    • blockchain
19 / 27
  • What is a hash?
  • What is block?
  • What is a singly-linked list?
  • (optional) What is a merkle tree?
  • What is distributed consensus?
    • What is the double-spend problem?
  • Demo the Anders blockchain demo
  • show of hands who has watched this video or used this demo before

Just enough blockchain

Blockchain

Ethereum Virtual Machine

Anders' Demo

Smart contracts

  • Blocks
    • Previously: Stored transactions
    • Now: Also store code & state
  • Mining
    • Previously: Verify & proof-of-work
    • Now: Also execute code & update state

20 / 27
  • previously -> bitcoin; now -> what ethereum adds

DApps?

Theory

  • What a blockchain gives us:
    • Distributed ledger
    • Distributed consensus
    • Immutable state
    • Tamper proof transactions
  • Smart contracts
    • Tamper proof transactions as well
    • ... not only for units of "coin"
    • also for state transitions
21 / 27
  • so now we have covered what a blockchain is
  • what that gets us is a distributed ledger, plus distributed consensus, which equals immutable state
  • that in itself is an amazing feat, because that enables tamper-proof transactions
  • the meteoric rise of bitcoin in itself is testament to that
  • but what if that was not enough? we'd like to do more than process transactions please!
  • enter smart contracts

DApps?

Theory

Practice

  • (mostly) written in Solidity
  • deployed onto blockchain as data
  • ethereum wallets send messages to smart contracts
    • via nodes mining on the network
    • signature + calldata (+ ether)
  • node executes the specified function
    • run through the ethereum virtual machine
22 / 27
  • smart contracts in ethereum are largely written in solidity
  • these smart contracts are deployed onto the blockchain as data
  • clients use ethereum wallets to send messages to these smart contracts
    • signature + calldata + amount of ether
  • ethereum nodes execute the smart contract function specified by the messages
    • ethereum virtual machine, which we'll get into more
  • the new state of the contract is recorded oin the next block

DApps?

Theory

Practice

Limitations

  • smart contracts are just programs
  • EVM programs are currently limited
    • transaction speed
    • storage costs
    • query capabilities
    • UX

23 / 27
  • You cannot build everything you can in a CApp in a DApp - today
  • Progress is being made in these areas
  • When solved, the decentralised web/ web3 will likely be used by the average person
  • By learning to dev DApps now, you're way ahead of the mass adoption curve

DApps?

Theory

Practice

Limitations

Vision

  • Web 3, or the decentralised Internet
  • Web 2 - our current internet - is heavily centralised
  • Centralised technologies are inherently not tamper resistant
    • Censorship
    • Control & visibility of data + code
  • Levelling the playing field

24 / 27
  • smart contracts are merely programs
    • what makes them special is that they run in a completely decentralised, and thus a tamper proof manner
    • this makes apps developed using them unlike apps that are developed today using centralised technologies
    • "web 3"

Next session

25 / 27
  • anyone here already have some ideas for DApps you'd like to build with the club, pls come to the front
    • if you're shy, just stick around and talk about it with those around you, or to kenneth and myself

Partners

  • Venues wanted!
    • 2 sessions per month
    • Consistent venue
  • Thank you sponsors!

https://dappsdev.org/partners

26 / 27
  • The plan is to run two sessions per month
    • We need venues for the remaining sessions
    • If you work at a company, and your company has a space that it is not using on week nights, why not tell them about DApps Dev Club?
  • We have been lucky to be sponsored for this session
    • Would anyone here from Microsoft, Spartan, NBC19, or Engineers.SG like to say a few words?
  • be sure to check out the sessions page for updates, and join our discord
  • any other announcements?

Today

  • Intro
  • Partners
  • Sessions
  • Focus
  • Build what?
  • Just enough blockchain
  • What's a DApp?
  • Next session
  • Announcements
2 / 27
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow