Skip to content

Latest commit

 

History

History
 
 

ipfs

IPFS in JavaScript logo

The JavaScript implementation of the IPFS protocol


Upgrading from <=0.40 to 0.48? See the release notes for the list of API changes and the migration guide.

We've come a long way, but this project is still in Alpha, lots of development is happening, APIs might change, beware of 🐉..

Getting started

Lead Maintainer

Alex Potsides

Table of Contents

Install

$ npm install ipfs

If you are planning on using js-ipfs on the command line, install it globally:

$ npm install -g ipfs

Browser CDN

You can load IPFS right in your browser by adding the following to your page using the super fast jsdelivr CDN:

<!-- loading the minified version using jsDelivr -->
<script src="https://cdn.jsdelivr.net/npm/ipfs/dist/index.min.js"></script>

<!-- loading the human-readable (not minified) version jsDelivr -->
<script src="https://cdn.jsdelivr.net/npm/ipfs/dist/index.min.js"></script>

Inserting one of the above lines will make an Ipfs object available in the global namespace:

<script>
async function main () {
  const node = await window.Ipfs.create()
  // Ready to use!
  // See https://github.com/ipfs/js-ipfs#core-api
}
main()
</script>

Browser bundle

Learn how to bundle IPFS into your application with webpack, parceljs and browserify in the examples.

Documentation

Getting started & constructor options

Core API

How to run IPFS in various environments

Different topics in detail

Questions?

Need help?

Please ask 'How do I?' questions on https://discuss.ipfs.io

Want to hack on IPFS?

The IPFS implementation in JavaScript needs your help! There are a few things you can do right now to help out:

Read the Code of Conduct and JavaScript Contributing Guidelines.

  • Check out existing issues The issue list has many that are marked as 'help wanted' or 'difficulty:easy' which make great starting points for development, many of which can be tackled with no prior IPFS knowledge
  • Look at the IPFS Roadmap This are the high priority items being worked on right now
  • Perform code reviews More eyes will help a. speed the project along b. ensure quality, and c. reduce possible future bugs.
  • Add tests. There can never be enough tests.
  • Join the Weekly Core Implementations Call it's where everyone discusses what's going on with IPFS and what's next

Packages

List of the main packages that make up the IPFS ecosystem.

Package Version Deps CI/Travis Coverage Lead Maintainer
Files
ipfs-unixfs-exporter npm Deps Travis CI codecov Alex Potsides
ipfs-unixfs-importer npm Deps Travis CI codecov Alex Potsides
ipfs-unixfs npm Deps Travis CI codecov Alex Potsides
Repo
ipfs-repo npm Deps Travis CI codecov Alex Potsides
Exchange
ipfs-block-service npm Deps Travis CI codecov Volker Mische
ipfs-block npm Deps Travis CI codecov Volker Mische
ipfs-bitswap npm Deps Travis CI codecov Dirk McCormick
IPNS
ipns npm Deps Travis CI codecov Vasco Santos
Generics/Utils
ipfs-utils npm Deps Travis CI codecov Hugo Dias
ipfs-http-client npm Deps Travis CI codecov Alex Potsides
ipfs-http-response npm Deps Travis CI codecov Vasco Santos
ipfsd-ctl npm Deps Travis CI codecov Hugo Dias
is-ipfs npm Deps Travis CI codecov Marcin Rataj
aegir npm Deps Travis CI codecov Hugo Dias
ipfs-repo-migrations npm Deps Travis CI codecov N/A
libp2p
libp2p npm Deps Travis CI codecov Jacob Heun
peer-id npm Deps Travis CI codecov Vasco Santos
libp2p-crypto npm Deps Travis CI codecov Jacob Heun
libp2p-floodsub npm Deps Travis CI codecov Vasco Santos
libp2p-gossipsub npm Deps Travis CI codecov Cayman Nava
libp2p-kad-dht npm Deps Travis CI codecov Vasco Santos
libp2p-mdns npm Deps Travis CI codecov Jacob Heun
libp2p-bootstrap npm Deps Travis CI codecov Vasco Santos
libp2p-secio npm Deps Travis CI codecov Friedel Ziegelmayer
libp2p-noise npm Deps Travis CI codecov N/A
libp2p-tcp npm Deps Travis CI codecov Jacob Heun
libp2p-webrtc-star npm Deps Travis CI codecov Vasco Santos
libp2p-websockets npm Deps Travis CI codecov Jacob Heun
libp2p-mplex npm Deps Travis CI codecov Vasco Santos
libp2p-delegated-content-routing npm Deps Travis CI codecov Jacob Heun
libp2p-delegated-peer-routing npm Deps Travis CI codecov Jacob Heun
IPLD
ipld npm Deps Travis CI codecov Volker Mische
ipld-dag-pb npm Deps Travis CI codecov Volker Mische
ipld-dag-cbor npm Deps Travis CI codecov Volker Mische
Multiformats
multihashing npm Deps Travis CI codecov Hugo Dias
mafmt npm Deps Travis CI codecov Vasco Santos
multiaddr npm Deps Travis CI codecov Jacob Heun
multihashes npm Deps Travis CI codecov David Dias

This table is generated using the module package-table with package-table --data=package-list.json.

License

FOSSA Status