SlideShare a Scribd company logo
Stellar Module
Management
David Dias, Protocol Labs
Node.js Interactive
Stellar Module Management
Package
Repo
Tarball
Container
Node.js Interactive
• Module Management
• npm
• The Web
• IPFS, the InterPlanetary Filesystem
• Module Management
• npm
• The Web
• IPFS, the InterPlanetary Filesystem
• 🌠
Node.js Interactive
Modules Management
• What interfaces are available
• Language biased
• Reusable code, library or 

project all together
Scope
• Share it
• Make a webpage for the project
• Register it in a public listing
Discover a module
• Use a tool
• Download from a webpage
• Sneaker net
• Email
Transport
• How to deal with constant new
• Notify users
• Avoid breaking compatibility
• Cope with demand
• Security patches
Update
• How to store these modules
• Storage space and bandwidth concerns
Structure
• Check what I’m running
Integrity
• Who owns it
• Who is allowed to change it
• Where can it run
• Where can it be accessible
Ownership
• Scope
• Discovery
• Transport
• Update
• Activity
• Structure
• Integrity
• Ownership
Node.js Interactive
Node.js Interactive
• Storage is cheap
• Bandwidth is virtually “free”
Node.js Interactive
Node.js Interactive
Node.js Interactive
Node.js Interactive
Node.js Interactive
Node.js Interactive
Location Addressing
http://10.20.30.40/foo/bar/baz.png
location path
http://example.com/foo/bar/baz.png
http://10.20.30.40/foo/bar/baz.png
you
http://10.20.30.40/foo/bar/baz.png
10.20.30.40
you
http://10.20.30.40/foo/bar/baz.png
10.20.30.40
you
Node.js Interactive
Node.js Interactive
Node.js Interactive
Node.js Interactive
Node.js Interactive
Permanence Security
IoT
Control
Offline
Bandwidth
Disconnected
a protocol to upgrade the web
Permanent
Distributed Safer
Smarter
Offline
Faster
SFS
web
DHT+
web
DHT
SFS
routing
network
exchange
merkledag
naming
applications
The Stack
routing
network
exchange
merkledag
naming
applicationsThe Stack
Defining the Data
Moving the Data
Using the Data
IPLD - IP Linked Data
libp2p
IPNS - IP Naming System
{
name: ‘martian’
…
}
{
user: ???
}
{
name: ‘martian’
…
}
{
user: ???
}
hash( ) -> KQsXSobGtbNhF
{
name: ‘martian’
age: 9001
…
}
{
user: KQsXSobGtbNhF
…
}
hash( ) -> KQsXSobGtbNhF
MERKLE LINK
Node.js Interactive
Node.js Interactive
Node.js Interactive
Node.js Interactive
Node.js Interactive
Node.js Interactive
cvs/svn
cvs/svn
cvs/svn
Node.js Interactive
Node.js Interactive
Node.js Interactive
Node.js Interactive
Node.js Interactive
MerkleDAG
in IPFS
data forms a dag
it’s called the merkle dag
because the links are hashes
blob, tree, commit
unix files
and dirs
any data structures are
represented as dags
blocks, txns, wallets
kv-stores
http://10.20.30.40/foo/bar/baz.png
location path
http://example.com/foo/bar/baz.png
http://10.20.30.40/foo/bar/baz.png
location path
http://example.com/foo/bar/baz.png
/ipns/example.com/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
content path
10.20.30.40
you
HTTP
http://10.20.30.40/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
http://10.20.30.40/foo/bar/baz.png
10.20.30.40
you
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
IPFS
/ipns/example.com/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
content path
MUTABILITY
IPNS - InterPlanetary Naming System
/ipns/QmYJPtosPTfoC/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
content path
/ipns/example.com/foo/bar/baz.png
IPNS - InterPlanetary Naming System
MUTABILITY
/ipns/QmYJPtosPTfoC/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
QmW98pJrc6FZ6
/ipns/QmYJPtosPTfoC/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
QmYJPtosPTfoC
public
key
secret
key
QmW98pJrc6FZ6
public
key
QmW98pJrc6FZ6
secret
key
/ipns/QmYJPtosPTfoC/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
QmYJPtosPTfoC
QmW98pJrc6FZ6
public
key
QmW98pJrc6FZ6
secret
key
/ipns/QmYJPtosPTfoC/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
QmYJPtosPTfoC
signed by
QmYJPtosPTfoC
QmW98pJrc6FZ6
public
key
QmW98pJrc6FZ6
secret
key
/ipns/QmYJPtosPTfoC/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
QmYJPtosPTfoC
signed by
QmYJPtosPTfoC
QmW98pJrc6FZ6
DHT - Distributed Hash Table
DHT are the Holy Grail of P2P Networks
1
5
6
10
50
55
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
hash( ) = 91
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
hash( ) = 91
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
Who has fim , which hash( ) = 91?
What you get
✓ Discovery (through IPNS)
✓ Integrity (through
cryptographic hashing)
✓ Activity (the more
downloads, the merrier)
✓ Structure (download things
at most once)
✓ Transport (stream from
every peer that has the
module)
✓ Update (just sync the parts
that are changed)
✓ Ownership (private clusters,
IPNS records signed,
Node.js Interactive
registry-mirror
npm i <insert-module-name> –-registry=<IPFS bridge>
registry-mirror
demo
Node.js Interactive
LXJS 2013 - http://yearbook.lxjs.org
Node.js Interactive
Thank you!
David Dias - http://daviddias.me IPFS http://ipfs.io Protocol Labs http://ipn.io

More Related Content

PDF
RDM#2- The Distributed Web
PDF
Data Structures in and on IPFS
PDF
IPWB and IPFS at WAC2017
PDF
InterPlanetary Wayback: Peer-To-Peer Permanence of Web Archives
PDF
Minerva: Drill Storage Plugin for IPFS
PDF
Learn how to build decentralized and serverless html5 applications with embar...
ODP
Denser containers with PF cache - Pavel Emelyanov
PDF
PFcache - LinuxCon 2015
RDM#2- The Distributed Web
Data Structures in and on IPFS
IPWB and IPFS at WAC2017
InterPlanetary Wayback: Peer-To-Peer Permanence of Web Archives
Minerva: Drill Storage Plugin for IPFS
Learn how to build decentralized and serverless html5 applications with embar...
Denser containers with PF cache - Pavel Emelyanov
PFcache - LinuxCon 2015

What's hot (19)

PPTX
ODP
PFcache (Linuxcon, Seattle, 2015)
PPTX
List of Files Format
PPT
Raspberry zero usb in linux
KEY
TYPO3 at UNESCO.org
PDF
IPFS: The Permanent Web
PDF
Http2.0 Guide 2013-08-14 #http2study
PPTX
Introducing JDBC for SPARQL
PDF
Archive What I See Now: Personal Web Archiving with WARCs
PDF
Midwest php 2013 deploying php on paas- why & how
PDF
Gbroccolo pgconfeu2016 pgnfs
ODP
Convert your package to multibuild on Open Build Service
PDF
Speedup your WordPress mit Nginx und HTTP/2
PDF
Non-Framework MVC sites with PHP
PDF
Thinking in documents
PDF
HTTP 2.0 Why, How and When
PDF
Introducing Web Archiving and WSDL Research Group
PDF
Linux Kernel 개발참여방법과 문화 (Contribution)
PDF
What HTTP/2.0 Will Do For You
PFcache (Linuxcon, Seattle, 2015)
List of Files Format
Raspberry zero usb in linux
TYPO3 at UNESCO.org
IPFS: The Permanent Web
Http2.0 Guide 2013-08-14 #http2study
Introducing JDBC for SPARQL
Archive What I See Now: Personal Web Archiving with WARCs
Midwest php 2013 deploying php on paas- why & how
Gbroccolo pgconfeu2016 pgnfs
Convert your package to multibuild on Open Build Service
Speedup your WordPress mit Nginx und HTTP/2
Non-Framework MVC sites with PHP
Thinking in documents
HTTP 2.0 Why, How and When
Introducing Web Archiving and WSDL Research Group
Linux Kernel 개발참여방법과 문화 (Contribution)
What HTTP/2.0 Will Do For You
Ad

Viewers also liked (13)

PDF
The new decentralized compute stack and its application
PDF
Decentralised Web: IPFS project, David Dias, Protocol Labs, IPFS
PDF
Building Digital Transaction Systems in the new Banking World
PDF
Swiss otc blockchain
PDF
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
PDF
BigchainDB - Big Data meets Blockchain
PDF
Concept of BlockChain & Decentralized Application
PPTX
Building decentralized applications (dapps) on Ethereum - Eva Shon, & Igor Li...
PPTX
Apache Kafka 0.8 basic training - Verisign
PPT
Strategic Management Presentation - Apple Inc.
PDF
How Google Works
PDF
UX, ethnography and possibilities: for Libraries, Museums and Archives
PDF
Visual Design with Data
The new decentralized compute stack and its application
Decentralised Web: IPFS project, David Dias, Protocol Labs, IPFS
Building Digital Transaction Systems in the new Banking World
Swiss otc blockchain
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
BigchainDB - Big Data meets Blockchain
Concept of BlockChain & Decentralized Application
Building decentralized applications (dapps) on Ethereum - Eva Shon, & Igor Li...
Apache Kafka 0.8 basic training - Verisign
Strategic Management Presentation - Apple Inc.
How Google Works
UX, ethnography and possibilities: for Libraries, Museums and Archives
Visual Design with Data
Ad

Similar to Node.js Interactive (20)

PDF
Update on IPv6 activity in CERNET2
PDF
1. OPNFV Updates @ Tokyo Meetup#2
PDF
IPv6 Matrix Exec Summary Dec 2011 Results - ICCA Pondicherry 31 Jan 2012
PDF
IPv6 Matrix presentation for World IPv6 Launch, June 2012
PDF
Follow the White Rabbit - Message Queues with PHP
PDF
Learning the basics of Apache NiFi for iot OSS Europe 2020
PPTX
Alfresco Tech Talk Live 106
PPTX
PLNOG 18 - Paweł Małachowski - Spy hard czyli regexpem po pakietach
PDF
WarsawITDays_ ApacheNiFi202
PDF
Fuzzing Janus @ IPTComm 2019
PDF
Transforming WebSockets
ODP
Large Scale Crawling with Apache Nutch and Friends
PDF
Large Scale Crawling with Apache Nutch and Friends
PPTX
Spy hard, challenges of 100G deep packet inspection on x86 platform
PDF
Guillotina: The Asyncio REST Resource API
PDF
InterPlanetary Wayback: The Next Step Towards Decentralized Web Archiving
PDF
ipfs-171229085327.pdf
PDF
Faraday Blackhat 2011 Arsenal
PDF
2012 11-09 facex - i pv6 transition planning-
PPTX
Network Securities.pptx
Update on IPv6 activity in CERNET2
1. OPNFV Updates @ Tokyo Meetup#2
IPv6 Matrix Exec Summary Dec 2011 Results - ICCA Pondicherry 31 Jan 2012
IPv6 Matrix presentation for World IPv6 Launch, June 2012
Follow the White Rabbit - Message Queues with PHP
Learning the basics of Apache NiFi for iot OSS Europe 2020
Alfresco Tech Talk Live 106
PLNOG 18 - Paweł Małachowski - Spy hard czyli regexpem po pakietach
WarsawITDays_ ApacheNiFi202
Fuzzing Janus @ IPTComm 2019
Transforming WebSockets
Large Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and Friends
Spy hard, challenges of 100G deep packet inspection on x86 platform
Guillotina: The Asyncio REST Resource API
InterPlanetary Wayback: The Next Step Towards Decentralized Web Archiving
ipfs-171229085327.pdf
Faraday Blackhat 2011 Arsenal
2012 11-09 facex - i pv6 transition planning-
Network Securities.pptx

More from David Dias (8)

PDF
Enter Gossipsub, A scalable, extensible & hardened P2P PubSub Router protocol
PDF
browserCloud.js - David Dias M.Sc Thesis Defense Deck
PDF
Understanding The Community Lifecycle
PDF
P2P Resource Discovery for the Browser
PDF
Lisboa WebRTC - May 21, 2015 - Intro to WebRTC
PDF
Resource Discovery for the Web Platform using a P2P Overlay Network with WebR...
PDF
TriConf 2014 - LXJS, the Lisbon Javascript Conference
PDF
JSConfBR - Securing Node.js App, by the community and for the community
Enter Gossipsub, A scalable, extensible & hardened P2P PubSub Router protocol
browserCloud.js - David Dias M.Sc Thesis Defense Deck
Understanding The Community Lifecycle
P2P Resource Discovery for the Browser
Lisboa WebRTC - May 21, 2015 - Intro to WebRTC
Resource Discovery for the Web Platform using a P2P Overlay Network with WebR...
TriConf 2014 - LXJS, the Lisbon Javascript Conference
JSConfBR - Securing Node.js App, by the community and for the community

Recently uploaded (20)

PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PPT
Design_with_Watersergyerge45hrbgre4top (1).ppt
PDF
WebRTC in SignalWire - troubleshooting media negotiation
DOCX
Unit-3 cyber security network security of internet system
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PPTX
Internet___Basics___Styled_ presentation
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PPTX
Introuction about WHO-FIC in ICD-10.pptx
PDF
Introduction to the IoT system, how the IoT system works
PPTX
artificial intelligence overview of it and more
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PPT
tcp ip networks nd ip layering assotred slides
PPT
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
PPTX
presentation_pfe-universite-molay-seltan.pptx
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PDF
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
SASE Traffic Flow - ZTNA Connector-1.pdf
Design_with_Watersergyerge45hrbgre4top (1).ppt
WebRTC in SignalWire - troubleshooting media negotiation
Unit-3 cyber security network security of internet system
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Internet___Basics___Styled_ presentation
RPKI Status Update, presented by Makito Lay at IDNOG 10
Introuction about WHO-FIC in ICD-10.pptx
Introduction to the IoT system, how the IoT system works
artificial intelligence overview of it and more
INTERNET------BASICS-------UPDATED PPT PRESENTATION
tcp ip networks nd ip layering assotred slides
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
presentation_pfe-universite-molay-seltan.pptx
Slides PPTX World Game (s) Eco Economic Epochs.pptx
522797556-Unit-2-Temperature-measurement-1-1.pptx
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
Cloud-Scale Log Monitoring _ Datadog.pdf
An introduction to the IFRS (ISSB) Stndards.pdf
Unit-1 introduction to cyber security discuss about how to secure a system

Node.js Interactive