browser-ipfs
v0.0.6
Published
Simplified IPFS api targeted at the browser
Downloads
22
Readme
Browser friendly ipfs.js light
This is meant to implement the most common use cases for using ipfs in a browser. It has zero dependencies.
It meant to be mostly compatible with ipfs.js with a few key differences:
- no specific support for Buffers. Buffer's still work, see caveat below in documentation for ipfs.cat
- only implements simple add and cat functionality
- Basically if you're using ipfs as a simple KV store, this should do the trick
Run npm install browser-ipfs
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'))
ipfs.add(stringOrBuffer, callback)
ipfs.add("Testing...", function(err, hash) {
if (err) throw err; // If connection is closed
console.log(hash); // "Qmc7CrwGJvRyCYZZU64aPawPj7CJ56vyBxdhxa38Dh1aKt"
});
ipfs.cat(hash, callback)
Since we want to avoid including Buffer as a specific dependency. You need to manually convert the data returned from cat to a Buffer if that is what you're expecting.
ipfs.cat("Qmc7CrwGJvRyCYZZU64aPawPj7CJ56vyBxdhxa38Dh1aKt", function(err, data) { if (err) throw err; console.log(new Buffer(data,'binary').toString()); // "Testing..." });
ipfs.catText(hash, callback)
ipfs.cat("Qmc7CrwGJvRyCYZZU64aPawPj7CJ56vyBxdhxa38Dh1aKt", function(err, text) {
if (err) throw err;
console.log(text); // "Testing..."
});
new buffer.Buffer(data, 'binary')