Git Product home page Git Product logo

js-ipfs's Introduction

IPFS in JavaScript logo

The JavaScript implementation of the IPFS protocol


Getting started

Table of Contents

Getting Started

Install as a CLI user

Installing ipfs globally will give you the jsipfs command which you can use to start a daemon running:

$ npm install -g ipfs
$ jsipfs daemon
Initializing IPFS daemon...
js-ipfs version: x.x.x
System version: x64/darwin
Node.js version: x.x.x
Swarm listening on /ip4/127.0
.... more output

You can then add a file:

$ jsipfs add ./hello-world.txt
added QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf hello-world.txt

Install as an application developer

If you do not need to run a command line daemon, use the ipfs-core package - it has all the features of ipfs but in a lighter package:

$ npm install ipfs-core

Then start a node in your app:

import * as IPFS from 'ipfs-core'

const ipfs = await IPFS.create()
const { cid } = await ipfs.add('Hello world')
console.info(cid)
// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf

Documentation

Structure

This project is broken into several modules, their purposes are:

Packages

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

Package Version Deps CI/Travis Coverage Lead Maintainer
Files
ipfs-unixfs npm Deps Travis CI codecov Alex Potsides
Repo
ipfs-repo npm Deps Travis CI codecov Alex Potsides
ipfs-repo-migrations npm Deps Travis CI codecov N/A
Exchange
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
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
@chainsafe/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/dag-pb npm Deps Travis CI codecov N/A
@ipld/dag-cbor npm Deps Travis CI codecov N/A
Multiformats
multiformats npm Deps Travis CI codecov N/A
mafmt npm Deps Travis CI codecov Vasco Santos
multiaddr npm Deps Travis CI codecov Jacob Heun

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

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.

License

FOSSA Status

js-ipfs's People

Contributors

achingbrain avatar alanshaw avatar daviddias avatar dependabot-preview[bot] avatar dignifiedquire avatar dirkmc avatar dryajov avatar fbaiodias avatar fsdiogo avatar github-actions[bot] avatar gozala avatar greenkeeper[bot] avatar greenkeeperio-bot avatar hacdias avatar hackergrrl avatar hugomrdias avatar jacobheun avatar jbenet avatar krl avatar lidel avatar mappum avatar nginnever avatar olizilla avatar pgte avatar richardlitt avatar richardschneider avatar travisperson avatar vasco-santos avatar victorb avatar vmx avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.