Code Monkey home page Code Monkey 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

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

Watchers

 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.