Skip to content

Commit

Permalink
Merge pull request #51 from ipfs/feature/add-api-specs
Browse files Browse the repository at this point in the history
Added the API Specs from ipfs/api
  • Loading branch information
jbenet committed Dec 11, 2015
2 parents d11d0ec + cf5ee86 commit 76dc6d1
Show file tree
Hide file tree
Showing 4 changed files with 125 additions and 0 deletions.
14 changes: 14 additions & 0 deletions api/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# IPFS API Spec

> Official spec of the APIs that ipfs implementations must conform to, as well as test suites to ensure they do.
> **WARNING** This is a work in *progress*. There be dragons.
The IPFS API code for apiary can be found in [ipfs/api](//github.com/ipfs/api).

The IPFS API has two levels. The first level is a general description based on function signatures and the second one is the transport specific description.

* [Level 1 Spec - Transport Agnostic](level1.md)
* Level 2 Spec - Transport Specific
* [Level 2 CLI Spec](level2/cli.md)
* [Level 2 HTTP(S) Spec](level2/http.md)
109 changes: 109 additions & 0 deletions api/level1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# IPFS API Level 1 Spec - Transport Agnostic

### IPFS Core

> Everything defined here is required.
- version
- node
- id
- start
- stop
- block
- get
- put
- stat
- object - Basic manipulation of the DAG
- data
- get
- links
- new
- patch
- put
- stat
- refs - Listing of references. (Essentially, walking around the graph).
- local
- repo - Basic manipulation of the repo
- init
- stat
- gc
- config get
- config put
- pin - Basic manipulation of the pin set
- add
- ls
- rm
- log
- level
- tail
- name (ipns)
- name publish
- resolve

### IPFS Ext

> Everything defined here is optional
- dns
- resolve
- tar
- add
- cat
- tour
- list
- next
- restart
- files
- add
- cat
- get
- stat - Statistics about everything
- bw
- mount
- bootstrap
- add
- list
- rm

### IPFS Tools

> Everything defined here is optional, and might be specific to the
> implementation details (like running on the command line).
- commands
- update
- init - sugar around ipfs repo init
- config
- edit
- replace
- show
- daemon
- diag
- net
- sys

### Libp2p

- ping
- dht
- findpeer
- findprovs
- get
- put
- query
- swarm
- addrs
- addrs local
- connect
- disconnect
- filters
- filters add
- filters rm
- peers
- record (iprs)
- put
- get
- bitswap
- stat
- unwant
- wantlist
1 change: 1 addition & 0 deletions api/level2/cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# IPFS API Level 2 CLI Spec
1 change: 1 addition & 0 deletions api/level2/http.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# IPFS API Level 2 HTTP(S) Spec

0 comments on commit 76dc6d1

Please sign in to comment.