Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

Commit

Permalink
Merge pull request #103 from ipfs/update/roadmap
Browse files Browse the repository at this point in the history
move, update and clean the roadmap
  • Loading branch information
daviddias committed Mar 31, 2016
2 parents dd91350 + 8d99d45 commit fb855cb
Show file tree
Hide file tree
Showing 2 changed files with 168 additions and 113 deletions.
131 changes: 18 additions & 113 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
IPFS JavaScript Implementation
==============================

[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) [[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) ![Build Status](https://travis-ci.org/ipfs/js-ipfs.svg?style=flat-square)](https://travis-ci.org/ipfs/js-ipfs) ![](https://img.shields.io/badge/coverage-75%25-yellow.svg?style=flat-square) [![Dependency Status](https://david-dm.org/ipfs/js-ipfs.svg?style=flat-square)](https://david-dm.org/ipfs/js-ipfs) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)
[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io)
[[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) ![Build Status](https://travis-ci.org/ipfs/js-ipfs.svg?style=flat-square)](https://travis-ci.org/ipfs/js-ipfs)
![](https://img.shields.io/badge/coverage-75%25-yellow.svg?style=flat-square)
[![Dependency Status](https://david-dm.org/ipfs/js-ipfs.svg?style=flat-square)](https://david-dm.org/ipfs/js-ipfs)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)

> IPFS JavaScript implementation entry point and roadmap
> IPFS JavaScript implementation.
# Description

This repo will contain the entry point for the JavaScript implementation of IPFS spec, similar to [go-ipfs](https://github.com/ipfs/go-ipfs).
This repo contains the JavaScript implementation of the IPFS protocol, with feature parity to the [Go implementation](https://github.com/ipfs/go-ipfs).

We are building js-ipfs because it will inform how go-ipfs works, separate concerns, and allow a complete in-browser-tab implementation with no install friction. Most of the work for IPFS does happen elsewhere, but this is an equally important part of our roadmap to lead to a permanent, IPFSed web.
# Project status

Consult the [Roadmap](/ROADMAP.md) for a complete state description of the project. A lot of components can be used currently, but it is a WIP, so beware of the Dragons.

# Contribute

Expand All @@ -23,8 +29,6 @@ IPFS implementation in JavaScript is a work in progress. As such, there's a few

# Usage

> **Disclamer: Currently, js-ipfs is not a full IPFS node, it delegates all of its operations to a IPFS node available in the network, see "Getting jsipfs ready" below for more details.
### Installation

```bash
Expand All @@ -47,6 +51,14 @@ $ npm install ipfs --global

The cli is availble through `jsipfs` in your terminal

# Examples

> **WIP**
# API

> **WIP**
# Project structure

```
Expand Down Expand Up @@ -141,110 +153,3 @@ Files is the API that lets us work with IPFS objects (DAG Nodes) as if they were
#### Importer

Importer are a set of layouts (e.g. UnixFS) and chunkers (e.g: fixed-size, rabin, etc) that convert data to a MerkleDAG representation inside IPFS.

# Usage

> This is a WIP, beware of Dragons!
# Project Status

### Per component view

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

### Per feature view

- **core**
- [x] version
- [x] daemon
- [x] id
- [x] block
- [x] get
- [x] put
- [x] stat
- [x] object - Basic manipulation of the DAG
- [x] data
- [x] get
- [x] links
- [x] new
- [x] patch
- [x] put
- [x] 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
- [x] add
- [ ] cat
- [ ] get
- [ ] stat - Statistics about everything
- [ ] bw
- [ ] mount
- [x] bootstrap
- [x] add
- [x] list
- [x] rm
- [ ] bitswap
- [ ] stat
- [ ] unwant
- [ ] wantlist
- **tooling**
- [x] commands
- [ ] update
- [ ] init - sugar on top of ipfs repo init
- [x] config
- [x] edit
- [x] replace
- [x] show
- **network** (bubbles up from libp2p)
- [ ] ping
- [ ] dht
- [ ] findpeer
- [ ] findprovs
- [ ] get
- [ ] put
- [ ] query
- [ ] swarm
- [ ] addrs
- [ ] connect
- [ ] disconnect
- [ ] filters
- [ ] peers
- [ ] records (IPRS)
- [ ] put
- [ ] get
150 changes: 150 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
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
- [x] js-ipfs-unixfs
- [x] fixed size chunker
- [x] unixfs layout
- [x] jsipfs files add
- [ ] jsipfs files get
- [ ] jsipfs swarm
- [x] listen on WebSockets + TCP
- [x] spdy support
- [x] identify protocol
- [x] multistream
- [ ] connect
- [ ] interop with go-ipfs (tests)
- [x] block API
- [x] object API
- [x] js-ipfs-merkle-dag
- [x] repo API
- [ ] bitswap
- js-libp2p
- [x] js-libp2p-swarm
- [x] js-libp2p-tcp
- [x] js-libp2p-websockets
- [x] js-libp2p-spdy
- [x] js-multiaddr
- [x] js-multistream
- [x] js-peer-id
- [x] js-peer-info
- [x] js-webcrypto

### Notes:

- This releasel won't:
- support WebRTC, the communication between browser and machine nodes will happen through WebSockets+SPDY.
- won't have DHT (Kademlia Routing and Record Store) support.

# Milestone 2 - TBD

> Summary: TO BE DISCUSSED
# Project Status

### Per component view

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

### Per feature view

- **core**
- [x] version
- [x] daemon
- [x] id
- [x] block
- [x] get
- [x] put
- [x] stat
- [x] object - Basic manipulation of the DAG
- [x] data
- [x] get
- [x] links
- [x] new
- [x] patch
- [x] put
- [x] 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
- [x] add
- [ ] cat
- [ ] get
- [ ] stat - Statistics about everything
- [ ] bw
- [ ] mount
- [x] bootstrap
- [x] add
- [x] list
- [x] rm
- [ ] bitswap
- [ ] stat
- [ ] unwant
- [ ] wantlist
- **tooling**
- [x] commands
- [ ] update
- [ ] init - sugar on top of ipfs repo init
- [x] config
- [x] edit
- [x] replace
- [x] show
- **network** (bubbles up from libp2p)
- [ ] ping
- [ ] dht
- [ ] findpeer
- [ ] findprovs
- [ ] get
- [ ] put
- [ ] query
- [ ] swarm
- [ ] addrs
- [ ] connect
- [ ] disconnect
- [ ] filters
- [ ] peers
- [ ] records (IPRS)
- [ ] put
- [ ] get

0 comments on commit fb855cb

Please sign in to comment.