Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
LEARN HOW TO BUILD 

DECENTRALIZED AND SERVERLESS 

HTML5 APPLICATIONS 

WITH EMBARKJS, ETHEREUM, DAT AND IPFS
May 9th 201...
2
image from the work of Paul Baran, On Distributed Communications Networks 1964
Alessandro Confetti - May 9th 2018 – Code...
From decentralised arpanet…to worldwide (de)centralised serverless computing
1970
Arpanet (1969)
Distributed and resilient...
4
Images from Evolving terminology pt. 2: topology vs ownership January 10, 2016
Alessandro Confetti - May 9th 2018 – Code...
AWS LAMBDA SERVERLESS COMPUTING
5
Image from AWS Lambda official page
Alessandro Confetti - May 9th 2018 – Codemotion, Amst...
WEB
SERVER
Storage
1990 STATIC WEB-SITE
6
CLIENT
http
Index.html
Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
LOAD
BALANCER
WEB
SERVER
Storage
WEB
SERVER
Storage
2000 STATIC WEB-SITE
7
CLIENT
http
Index.html
Alessandro Confetti - Ma...
EU
PROXY
WEB
SERVER
Storage
WEB
SERVER
Storage
LOAD BALANCER
2017 STATIC WEB-SITE
8
CLIENT
http
Index.html
…US
WEB
SERVER
...
P2P SERVERLESS COMPUTING
9
????
Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
10
Alessandro Confetti - April 13th 2018 – Codemotion, Rome
Block 1Block …
Block 2
Block 4
ipfs
2017 IPFS STATIC WEB-SITE
11
CLIENT
IPFS
NODE
IPFS
NODE
IPFS
NODE
IPFS
NODE
Storage
HT...
HOW TO INSTALL IPFS
12
wget https://dist.ipfs.io/go-ipfs/v0.4.14/go-ipfs_v0.4.14_linux-amd64.tar.gz
tar -xvf go-ipfs_v0.4....
13
Alessandro Confetti - April 13th 2018 – Codemotion, Rome
Block 1Block …
Block 2
Block 4
IPFS COMPANION PLUGIN
14
IPFS
NODE
IPFS
NODE
IPFS
NODE
IPFS
NODE
Storage
IPFS 

Compainon
S...
15
Alessandro Confetti - April 13th 2018 – Codemotion, Rome
HOW TO INSTALL DAT
16
npm install -g dat
mkdir MyData
cd MyData
dat create
dat share —-http
http://localhost:8080
Alessand...
17
Alessandro Confetti - April 13th 2018 – Codemotion, Rome
18
Alessandro Confetti - April 13th 2018 – Codemotion, Rome
19
Image and article about the left-pad incident from The Register
Alessandro Confetti - May 9th 2018 – Codemotion, Amster...
20
STATIC HTTP SITE STATIC IPFS/DAT SITE
Bandwidth costs and capacity 

is upon the site
Bandwidth costs and capacity 

is...
P2P SERVERLESS COMPUTING
21
????IPFS/DAT
Front-end code for
weather app is hosted
on IPFS or DAT
????
????
Alessandro Conf...
22
Alessandro Confetti - April 13th 2018 – Codemotion, Rome
23
Alessandro Confetti - April 13th 2018 – Codemotion, Rome
P2P SERVERLESS COMPUTING
24
IPFS/DAT BLOCKCHAIN
ETHEREUM
Front-end code for
weather app is hosted
on IPFS or DAT
Ethereum ...
25
Alessandro Confetti - April 13th 2018 – Codemotion, Rome
HOW TO INSTALL EMBARKJS
26
# install ethereum
wget https://gethstore.blob.core.windows.net/builds/geth-darwin-amd64-1.6.0-...
27
Alessandro Confetti - April 13th 2018 – Codemotion, Rome
EthPhoto by Mudit Bachhawat
28
(DE)CENTRALISED 

SERVLESS COMPUTING
DISTRIBUTED

SERVLESS COMPUTING
you don’t have to manage servers or services, 

ne...
WE ARE HIRING IN ITALY!
i n f o - i t @ t h o u g h t w o r k s . c o m
TECNOLOGY RADAR VOL18
https://info.thoughtworks.co...
$ tail -f questions
30
Alessandro Confetti
aconfet@thoughtworks.com
twitter @zigolab 

blog http://blog.zigolab.it
Prochain SlideShare
Chargement dans…5
×

Learn how to build decentralized and serverless html5 applications with embark js, ethereum, dat and ipfs

35 vues

Publié le

Codemotion, Amsterdam 09/05/2018

Do you have an idea for a startup and don't want to pay for scaling it up? Forget about bandwidth problems, servers to install and pay for, with the power of IPFS, DAT and the blockchain.
In this talk, we will explore how to build an HTML5 DAPP (distributed application) with EmbarkJS, and figure out how to rethink servers, storage, messaging, data and payments in a distributed and decentralised way with the help of Ethereum's smart contracts, IPFS and DAT distributed storage.

Discover more at http://blog.zigolab.it

Publié dans : Internet
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Learn how to build decentralized and serverless html5 applications with embark js, ethereum, dat and ipfs

  1. 1. LEARN HOW TO BUILD 
 DECENTRALIZED AND SERVERLESS 
 HTML5 APPLICATIONS 
 WITH EMBARKJS, ETHEREUM, DAT AND IPFS May 9th 2018 – Codemotion, Amsterdam A l e s s a n d r o C o n f e t t i
  2. 2. 2 image from the work of Paul Baran, On Distributed Communications Networks 1964 Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  3. 3. From decentralised arpanet…to worldwide (de)centralised serverless computing 1970 Arpanet (1969) Distributed and resilient network 1980 Usenet (1979) Self-organised decentralised service 1985 DNS (1984) domain name services 1990 HTTP/HTML (1990) Static WWW 1995 CGI (1993) Dynamic WWW MySQL (1995) Dynamic WWW 2005 AWS (2004) Elastic VMs and services 2015 AWS Lambda (2014) Elastic function computing 2017 20182000 Napster (1999) Worldwide P2P network 2010 Bitcoin (2009) Trustless pure P2P payment network 2011 Namecoin (2011) Blockchain-based naming service 2012 2013 DAT (2013) Pure P2P storage network 2014 IPFS (2014) Pure P2P storage network Ethereum (2015) Trustless P2P Function computing 2016 BigchainDB (2016) Blockchain-based DB Blockstack (2013) Pure P2P network for Dapps 1975 TCP/IP (1974) reliable, ordered, and error-checked protocol Node.js (2009) Asynchronous WWW AKKA (2010) Asynchronous WWW Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  4. 4. 4 Images from Evolving terminology pt. 2: topology vs ownership January 10, 2016 Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  5. 5. AWS LAMBDA SERVERLESS COMPUTING 5 Image from AWS Lambda official page Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  6. 6. WEB SERVER Storage 1990 STATIC WEB-SITE 6 CLIENT http Index.html Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  7. 7. LOAD BALANCER WEB SERVER Storage WEB SERVER Storage 2000 STATIC WEB-SITE 7 CLIENT http Index.html Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  8. 8. EU PROXY WEB SERVER Storage WEB SERVER Storage LOAD BALANCER 2017 STATIC WEB-SITE 8 CLIENT http Index.html …US WEB SERVER Storage WEB SERVER Storage LOAD BALANCER WEB SERVER Storage WEB SERVER Storage LOAD BALANCER Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  9. 9. P2P SERVERLESS COMPUTING 9 ???? Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  10. 10. 10 Alessandro Confetti - April 13th 2018 – Codemotion, Rome
  11. 11. Block 1Block … Block 2 Block 4 ipfs 2017 IPFS STATIC WEB-SITE 11 CLIENT IPFS NODE IPFS NODE IPFS NODE IPFS NODE Storage HTTP/IPFS 
 GATEWAY Storage Index.html block 1 block 4 block 7 block 2 block 5 block 8 block 3 block 6 block 9 Storage StorageStorage Index.html http ipfs Index.html Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  12. 12. HOW TO INSTALL IPFS 12 wget https://dist.ipfs.io/go-ipfs/v0.4.14/go-ipfs_v0.4.14_linux-amd64.tar.gz tar -xvf go-ipfs_v0.4.14_linux-amd64.tar.gz cd go-ipfs ./install.sh ipfs init ipfs daemon http://localhost:5001/webui Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  13. 13. 13 Alessandro Confetti - April 13th 2018 – Codemotion, Rome
  14. 14. Block 1Block … Block 2 Block 4 IPFS COMPANION PLUGIN 14 IPFS NODE IPFS NODE IPFS NODE IPFS NODE Storage IPFS 
 Compainon Storage Index.html block 1 block 4 block 7 block 2 block 5 block 8 block 3 block 6 block 9 Storage StorageStorage Index.html http ipfs Index.html Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam HTML 
 Renderer Web Browser
  15. 15. 15 Alessandro Confetti - April 13th 2018 – Codemotion, Rome
  16. 16. HOW TO INSTALL DAT 16 npm install -g dat mkdir MyData cd MyData dat create dat share —-http http://localhost:8080 Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  17. 17. 17 Alessandro Confetti - April 13th 2018 – Codemotion, Rome
  18. 18. 18 Alessandro Confetti - April 13th 2018 – Codemotion, Rome
  19. 19. 19 Image and article about the left-pad incident from The Register Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  20. 20. 20 STATIC HTTP SITE STATIC IPFS/DAT SITE Bandwidth costs and capacity 
 is upon the site Bandwidth costs and capacity 
 is upon the client proxies, load balancers, 
 clusters and zones must be 
 configured and maintained The P2P network is self-organising Censorship can be easily enforced 
 thought DNS and IP Filtering Content is resilient 
 to DSN and IP filtering 
 or deletion Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  21. 21. P2P SERVERLESS COMPUTING 21 ????IPFS/DAT Front-end code for weather app is hosted on IPFS or DAT ???? ???? Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  22. 22. 22 Alessandro Confetti - April 13th 2018 – Codemotion, Rome
  23. 23. 23 Alessandro Confetti - April 13th 2018 – Codemotion, Rome
  24. 24. P2P SERVERLESS COMPUTING 24 IPFS/DAT BLOCKCHAIN ETHEREUM Front-end code for weather app is hosted on IPFS or DAT Ethereum contract is executed on the EVM and returns data back to user (eventually storing data on the blockchain) The smart contract is triggered by the user or an external oracle Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  25. 25. 25 Alessandro Confetti - April 13th 2018 – Codemotion, Rome
  26. 26. HOW TO INSTALL EMBARKJS 26 # install ethereum wget https://gethstore.blob.core.windows.net/builds/geth-darwin-amd64-1.6.0- facc47cb.tar.gz tar -xvfz geth-darwin-amd64-1.6.0-facc47cb.tar.gz sudo mv geth-darwin-amd64-1.6.0-facc47cb/geth /usr/local/bin/geth # install EmbarkJS sudo npm -g install embark embark demo # add CORS to ipfs ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "["http:// localhost:8000"]" ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials "["true"]" ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods "["PUT", "POST", "GET"]" Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  27. 27. 27 Alessandro Confetti - April 13th 2018 – Codemotion, Rome EthPhoto by Mudit Bachhawat
  28. 28. 28 (DE)CENTRALISED 
 SERVLESS COMPUTING DISTRIBUTED
 SERVLESS COMPUTING you don’t have to manage servers or services, 
 neither to worry how to scale or allocate them… 
 as long are you able to pay 
 or to cope with the provider’s rules you don’t have to manage servers or services, 
 neither to worry how to scale or allocate them… 
 but you can help build the network
 and been rewarded for it Trust is upon the the provider Trust is upon the network Resilience and scalability 
 through (de)centralised
 clustering, sharding, zoning… Resilience and scalability 
 through distributed networks Alessandro Confetti - May 9th 2018 – Codemotion, Amsterdam
  29. 29. WE ARE HIRING IN ITALY! i n f o - i t @ t h o u g h t w o r k s . c o m TECNOLOGY RADAR VOL18 https://info.thoughtworks.com/technology-radar-subscription.html
  30. 30. $ tail -f questions 30 Alessandro Confetti aconfet@thoughtworks.com twitter @zigolab 
 blog http://blog.zigolab.it

×