Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: IPFS API (core+http+cli) #65

Merged
merged 3 commits into from
Feb 10, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 31 additions & 9 deletions api/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,36 @@
# IPFS API Spec
IPFS API Specifications (core + http + cli)
===========================================

> Official spec of the APIs that ipfs implementations must conform to, as well as test suites to ensure they do.
> This document presents the specifications for the IPFS APIs, namely: 'core', the programmatic interface, 'http', a networked API interface over HTTP and 'cli', the command line interface to interact with IPFS.

> **WARNING** This is a work in *progress*. There be dragons.
Authors:

The IPFS HTTP API Spec, in Apiary format, can be found in [ipfs/http-api-spec](//github.com/ipfs/http-api-spec).
- David Dias
- Richard Littauer

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.
Reviewers:

* [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)
- Jeromy Johnson
- Juan Benet

# Abstract

This describes the [IPFS](https://ipfs.io/) APIs, including 'core', 'http' and 'cli'.

# Status of this spec

> **This spec is a Work In Progress (WIP).**

# Organization of this document

This RFC is organized by chapters described on the *Table of contents* section. Each of the chapters can be found in its own file.

# Table of contents

- [%N% Introduction]()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is %N%?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is just a placeholder for the future number of the chapter

- [%N% APIs]()
- [%N.M% Core]()
- [%N.M% HTTP]()
- [%N.M% CLI]()
- [%N% Implementations]()
- [%N% Referecences]()
97 changes: 97 additions & 0 deletions api/cli/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# CLI Interface

ipfs
ipfs add
ipfs bitswap
ipfs bitswap stat
ipfs bitswap unwant
ipfs bitswap wantlist
ipfs block
ipfs block get
ipfs block put
ipfs block stat
ipfs bootstrap
ipfs bootstrap add
ipfs bootstrap list
ipfs bootstrap rm
ipfs cat
ipfs commands
ipfs config
ipfs config edit
ipfs config replace
ipfs config show
ipfs daemon
ipfs dht
ipfs dht findpeer
ipfs dht findprovs
ipfs dht get
ipfs dht put
ipfs dht query
ipfs diag
ipfs diag net
ipfs diag sys
ipfs dns
ipfs file
ipfs file ls
ipfs files
ipfs files cp
ipfs files ls
ipfs files mkdir
ipfs files mv
ipfs files read
ipfs files rm
ipfs files stat
ipfs files write
ipfs get
ipfs id
ipfs init
ipfs log
ipfs log level
ipfs log tail
ipfs ls
ipfs mount
ipfs name
ipfs name publish
ipfs name resolve
ipfs object
ipfs object data
ipfs object get
ipfs object links
ipfs object new
ipfs object patch
ipfs object patch add-link
ipfs object patch append-data
ipfs object patch rm-link
ipfs object patch set-data
ipfs object put
ipfs object stat
ipfs pin
ipfs pin add
ipfs pin ls
ipfs pin rm
ipfs ping
ipfs refs
ipfs refs local
ipfs repo
ipfs repo gc
ipfs resolve
ipfs stats
ipfs stats bw
ipfs swarm
ipfs swarm addrs
ipfs swarm addrs local
ipfs swarm connect
ipfs swarm disconnect
ipfs swarm filters
ipfs swarm filters add
ipfs swarm filters rm
ipfs swarm peers
ipfs tar
ipfs tar add
ipfs tar cat
ipfs tour
ipfs tour list
ipfs tour next
ipfs tour restart
ipfs update
ipfs version
34 changes: 18 additions & 16 deletions api/level1.md → api/core/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# IPFS API Level 1 Spec - Transport Agnostic
# Core API

### IPFS Core
The `core` API is the programmatic interface for IPFS, it defines the method signatures.

## Required for compliant IPFS implementation

> Everything defined here is required.

Expand Down Expand Up @@ -36,16 +38,16 @@
- log
- level
- tail
- name (ipns)
- name publish
- resolve

### IPFS Ext
## Extensions

> Everything defined here is optional

- name (ipns)
- name publish
- resolve
- dns
- resolve
- resolve
- tar
- add
- cat
Expand All @@ -64,11 +66,15 @@
- add
- list
- rm
- bitswap
- stat
- unwant
- wantlist


### IPFS Tools
## Tooling on top of the Core + Extentions

> Everything defined here is optional, and might be specific to the
> implementation details (like running on the command line).
> Everything defined here is optional, and might be specific to the implementation details (like running on the command line).

- commands
- update
Expand All @@ -82,7 +88,7 @@
- net
- sys

### Libp2p
## Network API specifics that bubble up from libp2p API

- ping
- dht
Expand All @@ -100,10 +106,6 @@
- filters add
- filters rm
- peers
- record (iprs)
- records (iprs)
- put
- get
- bitswap
- stat
- unwant
- wantlist
12 changes: 12 additions & 0 deletions api/http/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
> note: Currently, the HTTP API is a mix between a RPC and RESTful API

# HTTP API



# Interactive HTTP API documentation

You can find a live version of the HTTP API on Apiary:

- Apiary = http://docs.ipfs.apiary.io/#
- Repo - https://github.com/ipfs/api
1 change: 0 additions & 1 deletion api/level2/cli.md

This file was deleted.

1 change: 0 additions & 1 deletion api/level2/http.md

This file was deleted.