Skip to content

Latest commit

 

History

History
150 lines (137 loc) · 3.39 KB

ROADMAP.md

File metadata and controls

150 lines (137 loc) · 3.39 KB

IPFS JavaScript Implementation roadmap

Milestone 1 - js-ipfs on the browser

Summary: This milestone's focus is to ship a version of js-ipfs that can be embed in browser applications, creating an IPFS node inside a browser web application.

Tasks:

  • files API
    • js-ipfs-unixfs
    • fixed size chunker
    • unixfs layout
    • jsipfs files add
    • jsipfs files get
  • jsipfs swarm
    • listen on WebSockets + TCP
    • spdy support
    • identify protocol
    • multistream
    • connect
    • interop with go-ipfs (tests)
  • block API
  • object API
    • js-ipfs-merkle-dag
  • repo API
  • bitswap
  • js-libp2p
    • js-libp2p-swarm
    • js-libp2p-tcp
    • js-libp2p-websockets
    • js-libp2p-spdy
    • js-multiaddr
    • js-multistream
    • js-peer-id
    • js-peer-info
    • js-webcrypto

Notes:

  • This release won't
    • support WebRTC, the communication between browser and machine nodes will happen through WebSockets+SPDY
    • support DHT (Kademlia Routing and Record Store)

Milestone 2 - TBD

Summary: TO BE DISCUSSED

Project Status

Per component view

Name Spec Disc
data importing ipfs/specs#57 ipfs#41
repo https://github.com/ipfs/specs/tree/master/repo ipfs#51
network layer https://github.com/ipfs/specs/tree/master/libp2p https://github.com/diasdavid/js-libp2p/issues
bitswap ipfs#51 ipfs#51
pin ipfs#59
files ipfs#60
daemon ipfs#57
object ipfs#58
block ipfs#50
bootstrap ipfs#46
init ipfs#42

Per feature view

  • core
    • version
    • daemon
    • id
    • block
      • get
      • put
      • stat
    • object - Basic manipulation of the DAG
      • data
      • get
      • links
      • new
      • patch
      • put
      • stat
    • refs - Listing of references. (alking around the graph)
      • local
    • repo
      • init
      • stat
      • gc
    • pin
      • add
      • ls
      • rm
    • log
      • level
      • tail
  • extensions
    • name (IPNS)
      • publish
      • resolve
    • dns
      • resolve
    • tar
      • add
      • cat
    • tour
      • list
      • next
      • restart
    • files
      • add
      • cat
      • get
    • stat - Statistics about everything
      • bw
    • mount
    • bootstrap
      • add
      • list
      • rm
    • bitswap
      • stat
      • unwant
      • wantlist
  • tooling
    • commands
    • update
    • init - sugar on top of ipfs repo init
    • config
      • edit
      • replace
      • show
  • network (bubbles up from libp2p)
    • ping
    • dht
      • findpeer
      • findprovs
      • get
      • put
      • query
    • swarm
      • addrs
      • connect
      • disconnect
      • filters
      • peers
    • records (IPRS)
      • put
      • get