https://github.com/consensysmesh/ipfs.js
Wrapper for node-ipfs-api
https://github.com/consensysmesh/ipfs.js
Last synced: 8 months ago
JSON representation
Wrapper for node-ipfs-api
- Host: GitHub
- URL: https://github.com/consensysmesh/ipfs.js
- Owner: ConsenSysMesh
- Created: 2015-08-24T23:58:02.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2016-08-30T13:48:43.000Z (almost 10 years ago)
- Last Synced: 2025-01-29T09:25:18.166Z (over 1 year ago)
- Language: JavaScript
- Size: 931 KB
- Stars: 43
- Watchers: 29
- Forks: 14
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### ⚠️ ATTENTION ⚠️
For this library to work on both nodejs and the browser, it depends on a old version of js-ipfs-api to avoid a [browserify issue](https://github.com/ipfs/js-ipfs-api/issues/190) with later versions
For a very lightweight browser-only library, check out [browser-ipfs](https://github.com/pelle/browser-ipfs)
Otherwise if using with node.js or a browser via webpack or ``, you probably want the most recent stable [js-ipfs-api](https://github.com/ipfs/js-ipfs-api)
# ipfs.js
Wrapper for [node-ipfs-api](https://github.com/ipfs/node-ipfs-api)
## Browser friendly
Run `npm install ipfs-js`
Or reference `dist/ipfs.min.js` inside a `<script />` to expose the global `ipfs`
## Example
### 1) Set IPFS CORS access
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'
### 2) Start IPFS
ipfs daemon
### 3) Upload example directory
`git clone https://github.com/ConsenSys/ipfs.js && cd ipfs.js`
For non-default ipfs configurations, you can run `./example.url` to `ipfs add -r example` and print the local gateway's url
### 4) Open IPFS gateway
Navigate to the url echoed from `./example.url` in the browser, or run `./example.url | xargs open` to open it on OSX
## Methods
#### `ipfs.setProvider({host: 'localhost', port: '5001'})`
* _localhost_ and _5001_ are the defaults when calling without arguments
* is also equivalent to `ipfs.setProvider({host: '/ip4/127.0.0.1/tcp/5001'})`
### `ipfs.setProvider(require('ipfs-api')('localhost', '5001'))`
node.js compatibility for ipfs.js
#### `ipfs.add(textOrBuffer, callback)`
ipfs.add("Testing...", function(err, hash) {
if (err) throw err; // If connection is closed
console.log(hash); // "Qmc7CrwGJvRyCYZZU64aPawPj7CJ56vyBxdhxa38Dh1aKt"
});
#### `ipfs.cat(hash, callback)`
ipfs.cat("Qmc7CrwGJvRyCYZZU64aPawPj7CJ56vyBxdhxa38Dh1aKt", function(err, buffer) {
if (err) throw err;
console.log(buffer.toString()); // "Testing..."
});
#### `ipfs.catText(hash, callback)`
ipfs.cat("Qmc7CrwGJvRyCYZZU64aPawPj7CJ56vyBxdhxa38Dh1aKt", function(err, text) {
if (err) throw err;
console.log(text); // "Testing..."
});
#### `ipfs.addJson(json, callback)`
#### `ipfs.catJson(hash, callback)`
#### `ipfs.api.*` - all methods from node-ipfs-api
#### `ipfs.utils.base58ToHex(base58)`
#### `ipfs.utils.hexToBase58(hex)`