#AboutMe
Human Interaction
Openness
Web Application Development
Peer-to-Peer Web
Centralized Web
Corporate Web
Decentralization
Corporate Monopolies
Control-Centric Approach
Privacy
Dat Platform
Decentralized Web Events
Beaker Browser
Security
Hashbase
File system
Scuttlebutt
HTTP
Indie Web
https://twitter.com/mathowie/status/837735473745289218
#QuotesFromCommunity
#QuotesFromCommunity
http://ab13zyvpe7wadntqjz2zrmwcz02tvcuk75qcb6bh41w38qg6z7r0.gateway.mauve.moe:3000/
#P2PWebCommunity
#P2PWebCommunity
"Websites served from many locations; locations that are not coordinated."
Brewster Kahle, archive.org
#P2PWebCommunity
"A Web that does not depend upon powerful monopolies."
Jehan Tremback, altheamesh.com
"In the future, the Web will be like air and water. It will be a part of the Commons."
Jeffrey Ventrella, wiggleplanet.com
#P2PWebCommunity
#QuotesFromCommunity
#P2PWebCommunity
Distributed non-Profitness
#ForMorePublicData
Along the way of building the future we got lost. We need public technology driven by communities and humans.
#DatDescription
"We believe that not-for-profit and human-driven technology will be the future of the open web. We must also nurture an inclusive community creating fair technology."
"User security and privacy take priority in the Dat Protocol. Applications using Dat get encrypted transfer, private data sharing, and content verification built-in."
"Existing Internet infrastructure was funded and built for the public. Large monopolies now control the web. Can we imagine a new model for technology infrastructure?"
#DatHistory
#DatFeatures
Distributed
Data history
Security
In-place archiving
https://github.com/datproject/docs/blob/master/papers/dat-paper.pdf
#DatFeatures
// import dat
const Dat = require('dat-js');
// create a new instance
const dat = Dat();
// share hello.txt
dat.add(function (repo) {
var writer = repo.archive.createFileWriteStream('hello.txt')
writer.write('world')
writer.end(function () { replicate(repo.key) })
})
const clone = Dat()
// download hello.txt
clone.add(key, function (repo) {
repo.archive.readFile('hello.txt', function (err, data) {
console.log(data.toString()) // prints 'world'
})
})
// download a subset
dat.add(key, { sparse: true }, function (repo) {
// do domething!
})
#CodeForHumans
$ npm install -g hypercored
$ hypercored
Watching ~/dat/feeds for a list of active feeds
Archiver key is 42471e32d36be3cb617ec1df382372532aac1d1ce683982962fb3594c5f9532a
Swarm listening on port 58184
# Hit http://localhost:58184
To provide any feeds you want on web
#DatFeatures
hyperdrive: Core library
hypercore: Logging
#DatInternals
Distributed file system.
Distributed append-only log.
Connection for hyperdrive & hypercore feeds
hyperdiscovery
Create a Dat
dat.create
Share a Dat
dat.share
Download Dat
dat clone dat://778f8...
Browser-as-a-"Server"
#ForMorePowerfulWeb
Browsers are the gateway to the Web! By building a browser with experimental features and capabilities, we have the flexibility to explore how the browser can help uphold the vision of an open Web.
" At the heart of Beaker is a peer-to-peer network for sharing all kinds of content.
It lets you skip the middle man and share data directly with your friends and colleagues. P2P networks are fantastic for sharing information privately, and they work great for publishing to a broad audience too!"
#BeakerDescription
#InternetIndependent
#RealOfflineExperience
#BeakerFeaturesForDevs
Share work via peers
Prototype & show what you have
Showcasing components / small pieces
Creating apps for your good (not for business)
#opensource
#BeakerInternals
WebDB
Homebase (ex. dathttpd)
DatArchive API
Reads/Writes data on dat:// websites.
Pinning server for Dat Protocol.
API for reading/writing on Dat file system.
Beaker Browser
Gatsby
Netlify CMS
Flog
#BuildWithP2P
Beaker Browser
GraphCMS
React
dokumante.at
#BuildWithP2P
Beaker Browser
<Number-of-family-members-in-array>.map(m => createApp(m))
xgram.app
#BuildWithP2P
Beaker Browser
Hashbase
<Something>.js
personal.space
#BuildWithP2P
Beaker Browser
A Pub/Sub Mechanism
<SomethingAnother>.js
revue.me
#BuildWithP2P
Beaker Browser
HyperDB
Hashbase
<ThisIsSoCool>.js
kacuzerinden.io
#BuildWithP2P
Beaker Browser
HyperDB
Hashbase
<WhyIamUsingThisStill>.js
Docz
use.guide
#BuildWithP2P
Beaker Browser
application/json or text/html
handler.js
lam.ba
#BuildWithP2P
(I mean, peer-to-peer app)
<Some> Browser
HyperDB
<LetsSwitchToAnother>.js
gi.st
#BuildWithP2P
<Some> Browser
HyperDB
<LetsSwitchToAnother>.js
https://rationalcoding.github.io/hyperhost
Example:
https://decentralized-static-app.hashbase.io/
#BuildWithP2P
#Tooling
https://github.com/mafintosh/hyperdb
#Tooling
https://www.scuttlebutt.nz/
#Tooling
peer-to-peer-web.com
Decentralized Web Summit
Decentralized Web Meetups (Montreal, LA)
http://d10e.biz - The Leading Conference on Decentralization
#DecentralizedEvents
dig.csail.mit.edu - Decentralized Information Group
datproject.org
beakerbrowser.org
inthemesh.com
www.wired.com/story/the-decentralized-internet-is-here-with-some-glitches
ischoolonline.syr.edu/blog/what-is-the-decentralized-web
#RelatedLinks
#Questions
https://slides.com/hwclass/peer-to-peer-web-with-decentralized-apps