Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

get-ipfs

Package Overview
Dependencies
Maintainers
4
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

get-ipfs

Utility to get js-ipfs with fallbacks

  • 1.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
10
decreased by-23.08%
Maintainers
4
Weekly downloads
 
Created
Source

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. Can be configured using the jsIpfs setting.

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', 'swarm'],

  // `peers` is a list of peer multiaddrs to connect to on load
  // to work with the `js-ipfs` fallback, these must have available websocket ports
  peers: [],

  // `browserPeers` is a list of peer multiaddrs to connect to only on fallback to an in-browser js-ipfs daemon
  // note: these must be secure websocket or WebRTC addresses
  browserPeers: [],

  // `localPeers` is a list of peer multiaddrs to connect to if using a local ipfs daemon (through ipfs companion for instance)
  localPeers: [],

  // (optional) Configure how to load js-ipfs. By default this'll be an unpkg url that points to the latest minified distribution.
  jsIpfs: "https://unpkg.com/ipfs@latest/dist/index.min.js",
  jsIpfs: async () => await import("ipfs"),
  jsIpfs: () => Promise.resolve(Ipfs)
}

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.

This repo is similar to ipfs-provider. One big difference is that ipfs-provider doesn't use ES6 syntax so it can't be used without a module bundler.

FAQs

Package last updated on 09 Mar 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc