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 with later versions
For a very lightweight browser-only library, check out browser-ipfs
Otherwise if using with node.js or a browser via webpack or <script\>
, you probably want the most recent stable js-ipfs-api
Wrapper for node-ipfs-api
Run npm install ipfs-js
Or reference dist/ipfs.min.js
inside a <script />
to expose the global ipfs
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"]'
ipfs daemon
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
Navigate to the url echoed from ./example.url
in the browser, or run ./example.url | xargs open
to open it on OSX
- localhost and 5001 are the defaults when calling without arguments
- is also equivalent to
ipfs.setProvider({host: '/ip4/127.0.0.1/tcp/5001'})
node.js compatibility for ipfs.js
ipfs.add("Testing...", function(err, hash) {
if (err) throw err; // If connection is closed
console.log(hash); // "Qmc7CrwGJvRyCYZZU64aPawPj7CJ56vyBxdhxa38Dh1aKt"
});
ipfs.cat("Qmc7CrwGJvRyCYZZU64aPawPj7CJ56vyBxdhxa38Dh1aKt", function(err, buffer) {
if (err) throw err;
console.log(buffer.toString()); // "Testing..."
});
ipfs.cat("Qmc7CrwGJvRyCYZZU64aPawPj7CJ56vyBxdhxa38Dh1aKt", function(err, text) {
if (err) throw err;
console.log(text); // "Testing..."
});