Skip to content
Utility to get a contextual js-ipfs instance, with graceful web fallbacks
TypeScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
assets
src
test
tools
.editorconfig
.gitignore
.travis.yml
LICENSE
README.md
package-lock.json
package.json
rollup.config.ts
tsconfig.json
tslint.json

README.md

Get IPFS

NPM License Build Status Maintainability Built by FISSION Discord Discourse

A one-stop shop for loading an ipfs instance into a webpage.

Attempts to load ipfs in the following order and returns the result in a Promise:

  1. window.ipfs.enable: the current window.ipfs api. Available if the user is using Opera or has the ipfs-companion extension installed.
  2. window.ipfs: the old window.ipfs api. Does not include enabling permissions all at once.
  3. js-ipfs: an in-browser ipfs node that communicates via WebRTC/Websockets. The js-ipfs code is only loaded if required.

Usage

import getIpfs from 'get-ipfs'

const ipfs = await getIpfs([config])

Config

{
  // `permissions` are enabled if the browser is ipfs-capable (Opera or extension)
  // passed to `window.ipfs.enable` if available
  // prevents a permission dialog from appearing for every action
  permissions: ['id', 'version', 'add', 'cat', 'dag'],

  // `bootstrap` is a list of peers to be added to the node's bootstrap list
  // to work with the `js-ipfs` fallback, these must have available websocket ports
  bootstrap: []
}

Testing

Tests coming soon!!

  • Run npm i
  • Run tests with: npm run test
  • Continuously watch with npm run test:watch

Notes

This repo currently makes use of types from typestub-ipfs.

Give your support here for types to be merged into js-ipfs or DefinitelyTyped.

You can’t perform that action at this time.