Skip to content
This repository was archived by the owner on Mar 10, 2020. It is now read-only.

Update to be compatible with IPFS 0.4.0 #74

Merged
merged 37 commits into from
Apr 8, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
0fc2e14
add test-usn to be able to use own local node (good for when testing …
daviddias Oct 11, 2015
ee821ad
files api tests
daviddias Oct 11, 2015
088e7a0
fix rm -r bug
daviddias Oct 11, 2015
090f6f6
add readme documentation for files
daviddias Oct 11, 2015
8be791f
files api tests
daviddias Oct 11, 2015
923cc79
add readme documentation for files
daviddias Oct 11, 2015
814f13f
fix linting
daviddias Nov 22, 2015
ce83e02
remove standard ignore from package.json
daviddias Nov 22, 2015
8fd8279
don't mess with my errors
daviddias Nov 23, 2015
d31529b
For Jeromy to Check
daviddias Dec 27, 2015
d65fcc0
files api tests fixed
daviddias Dec 27, 2015
8c3b662
fix readme
daviddias Dec 27, 2015
7ef603e
Switch to flat files stream
dignifiedquire Dec 27, 2015
19b4d58
clean
daviddias Dec 27, 2015
0c5e7b8
Working and passing
dignifiedquire Dec 28, 2015
ecf6fe7
chore: build
daviddias Dec 28, 2015
c30c023
rebase master on this branch, move files api tests to es6
daviddias Jan 31, 2016
2938470
chore:build
daviddias Jan 31, 2016
135739d
fix(object): Add new object patch methods
dignifiedquire Feb 25, 2016
758a085
Merge remote-tracking branch 'upstream/master' into fix/object-patch
dignifiedquire Feb 25, 2016
a185c92
fix ls and refs
daviddias Feb 25, 2016
0b32373
Merge pull request #220 from ipfs/fix/object-patch
daviddias Feb 26, 2016
9bfde1b
Add promise tests and write test for files api
dignifiedquire Feb 26, 2016
038f37e
Allow direct listings of hashes for pin.ls
dignifiedquire Feb 28, 2016
a994abc
Merge with master
fbaiodias Mar 1, 2016
86bc4fb
Add symlink support
fbaiodias Mar 2, 2016
2b5472b
Fix expect on content-type header test
fbaiodias Mar 2, 2016
524ebfc
Merge pull request #224 from xicombd/feat/files-api-symlinks
daviddias Mar 2, 2016
c9c3eb0
test: Add recursive add with array test
dignifiedquire Mar 3, 2016
e0924d1
fix: Update dependencies
dignifiedquire Mar 11, 2016
9070d7d
docs: Move api to API.md
dignifiedquire Mar 11, 2016
0bd68a1
docs: Update api docs
dignifiedquire Mar 11, 2016
45ae562
Merge pull request #228 from ipfs/docs/files-api
daviddias Mar 11, 2016
aa2cf53
chore: build
dignifiedquire Mar 11, 2016
1fd9749
fix: Upgrade multipart-stream
dignifiedquire Mar 14, 2016
f3e2d42
Merge branch 'master' of github.com:ipfs/js-ipfs-api into feat/files-api
daviddias Apr 4, 2016
3e23a91
t 0.4.0 is now on ipfsd-ctl, this is ready to be merged
daviddias Apr 8, 2016
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
4 changes: 4 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ node_js:
- '5'
- stable

# always use npm latest
before_install:
- npm i -g npm

addons:
firefox: 'latest'

Expand Down
223 changes: 223 additions & 0 deletions API.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [API](#api)
- [Callbacks and promises](#callbacks-and-promises)
- [Reference](#reference)
- [Core](#core)
- [`version([callback])`](#versioncallback)
- [`id([callback])`](#idcallback)
- [`block`](#block)
- [`block.put(buffer, [callback])`](#blockputbuffer-callback)
- [`block.get(hash, [callback])`](#blockgethash-callback)
- [`block.stat(hash, [callback])`](#blockstathash-callback)
- [`object`](#object)
- [`object.put(buffer, encoding, [callback])`](#objectputbuffer-encoding-callback)
- [`object.get(hash, [callback])`](#objectgethash-callback)
- [`object.data(hash, [callback])`](#objectdatahash-callback)
- [`object.stat(hash, [callback])`](#objectstathash-callback)
- [`object.links(hash, [callback])`](#objectlinkshash-callback)
- [`object.new(hash, [callback])`](#objectnewhash-callback)
- [`object.patch`](#objectpatch)
- [`object.patch.addLink(hash, name, ref, [callback])`](#objectpatchaddlinkhash-name-ref-callback)
- [`object.patch.rmLink(hash, name, [callback])`](#objectpatchrmlinkhash-name-callback)
- [`object.patch.setData(hash, data, [callback])`](#objectpatchsetdatahash-data-callback)
- [`object.patch.appendData(hash, data, ref, [callback])`](#objectpatchappenddatahash-data-ref-callback)
- [`refs(hash, options, [callback])`](#refshash-options-callback)
- [`refs.local(hash, [callback])`](#refslocalhash-callback)
- [`pin`](#pin)
- [`pin.add(hash, options, [callback])`](#pinaddhash-options-callback)
- [`pin.remove(hash, options, [callback])`](#pinremovehash-options-callback)
- [`pin.list(hash, options, [callback])`](#pinlisthash-options-callback)
- [`log`](#log)
- [`log.tail([callback])`](#logtailcallback)
- [Extensions](#extensions)
- [`add(arrayOrBufferOrStream, [callback])`](#addarrayorbufferorstream-callback)
- [`name`](#name)
- [`name.publish(hash, [callback])`](#namepublishhash-callback)
- [`name.resolve(hash, [callback])`](#nameresolvehash-callback)
- [`files`](#files)
- [`files.cp(src, target, [callback])`](#filescpsrc-target-callback)
- [`files.ls(folder, [callback])`](#fileslsfolder-callback)
- [`files.mkdir(folder, [options, callback])`](#filesmkdirfolder-options-callback)
- [`files.stat(fileOrFolder, [callback])`](#filesstatfileorfolder-callback)
- [`files.rm(fileOrFolder, [options, callback])`](#filesrmfileorfolder-options-callback)
- [`files.read(fileOrFolder, [callback])`](#filesreadfileorfolder-callback)
- [`files.write(file, bufferOrArray, [options, callback])`](#fileswritefile-bufferorarray-options-callback)
- [`files.mv(src, target, [callback])`](#filesmvsrc-target-callback)
- [`mount(ipfs, ipns, [callback])`](#mountipfs-ipns-callback)
- [Tooling](#tooling)
- [`commands([callback])`](#commandscallback)
- [`update`](#update)
- [`update.apply([callback])`](#updateapplycallback)
- [`update.check([callback])`](#updatecheckcallback)
- [`update.log([callback])`](#updatelogcallback)
- [`diag`](#diag)
- [`diag.net([callback])`](#diagnetcallback)
- [`diag.sys([callback])`](#diagsyscallback)
- [`diag.cmds([callback])`](#diagcmdscallback)
- [Network](#network)
- [`ping(id, [callback])`](#pingid-callback)
- [`dht`](#dht)
- [`dht.findprovs([callback])`](#dhtfindprovscallback)
- [`dht.get(key, [options, callback])`](#dhtgetkey-options-callback)
- [`dht.put(key, value, [options, callback])`](#dhtputkey-value-options-callback)
- [`swarm`](#swarm)
- [`swarm.peers([callback])`](#swarmpeerscallback)
- [`swarm.connect(address, [callback])`](#swarmconnectaddress-callback)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# API

We classify the API calls by 'core', 'extensions', 'tooling', and 'network', following the same API spec organization available at [ipfs/specs](https://github.com/ipfs/specs/tree/master/api).

The tests folder also contains great examples that can be used to understand how this client library interacts with the HTTP-API. You can find the [tests here](test/api).


## Callbacks and promises

If you do not pass in a callback all api functions will return a `Promise`, for example

```js
ipfs.id()
.then(function (id) {
console.log('my id is: ', id)
})
```

This relies on a global `Promise` object. If you are in an environemnt where that is not
yet available you need to bring your own polyfill.

## Reference

### Core

#### `version([callback])`

- [tests](test/api/version.spec.js)

#### `id([callback])`

- [tests](test/api/id.spec.js)

#### `block`

- [tests](test/api/block.spec.js)

##### `block.put(buffer, [callback])`
##### `block.get(hash, [callback])`
##### `block.stat(hash, [callback])`

#### `object`

- [tests](test/api/object.spec.js)

##### `object.put(buffer, encoding, [callback])`
##### `object.get(hash, [callback])`
##### `object.data(hash, [callback])`
##### `object.stat(hash, [callback])`
##### `object.links(hash, [callback])`
##### `object.new(hash, [callback])`

##### `object.patch`

###### `object.patch.addLink(hash, name, ref, [callback])`
###### `object.patch.rmLink(hash, name, [callback])`
###### `object.patch.setData(hash, data, [callback])`
###### `object.patch.appendData(hash, data, ref, [callback])`

#### `refs(hash, options, [callback])`

- [tests](test/api/refs.spec.js)

##### `refs.local(hash, [callback])`


#### `pin`

- [tests](test/api/pin.spec.js)

##### `pin.add(hash, options, [callback])`
##### `pin.remove(hash, options, [callback])`
##### `pin.list(hash, options, [callback])`

#### `log`

- [tests](test/api/log.spec.js)

##### `log.tail([callback])`

### Extensions

#### `add(arrayOrBufferOrStream, [callback])`

- [tests](test/api/add.spec.js)

#### `name`

- [tests](test/api/name.spec.js)

##### `name.publish(hash, [callback])`
##### `name.resolve(hash, [callback])`

#### `files`

- [tests](test/api/files.spec.js)

##### `files.cp(src, target, [callback])`
##### `files.ls(folder, [callback])`
##### `files.mkdir(folder, [options, callback])`
##### `files.stat(fileOrFolder, [callback])`
##### `files.rm(fileOrFolder, [options, callback])`
##### `files.read(fileOrFolder, [callback])`
##### `files.write(file, bufferOrArray, [options, callback])`
##### `files.mv(src, target, [callback])`

#### `mount(ipfs, ipns, [callback])`

- [tests](test/api/mount.spec.js)

### Tooling

#### `commands([callback])`

- [tests](test/api/commands.spec.js)

#### `update`

- [tests](test/api/update.spec.js)

##### `update.apply([callback])`
##### `update.check([callback])`
##### `update.log([callback])`

#### `diag`

- [tests](test/api/diag.spec.js)

##### `diag.net([callback])`
##### `diag.sys([callback])`
##### `diag.cmds([callback])`

### Network

#### `ping(id, [callback])`

- [tests](test/api/ping.spec.js)

#### `dht`

- [tests](test/api/dht.spec.js)

##### `dht.findprovs([callback])`
##### `dht.get(key, [options, callback])`
##### `dht.put(key, value, [options, callback])`

#### `swarm`

- [tests](test/api/swarm.spec.js)

##### `swarm.peers([callback])`
##### `swarm.connect(address, [callback])`
Loading