Coder Social home page Coder Social logo

ironbatshashank / js-ipfs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ipfs/js-ipfs

0.0 0.0 0.0 44.57 MB

IPFS implementation in JavaScript

Home Page: https://js.ipfs.io

License: Other

JavaScript 97.93% Makefile 0.11% Shell 1.61% HTML 0.30% Dockerfile 0.05%

js-ipfs's Introduction

IPFS in JavaScript logo

The JavaScript implementation of the IPFS protocol.


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

Project status - Alpha

We've come a long way, but this project is still in Alpha, lots of development is happening, API might change, beware of the Dragons ๐Ÿ‰.

Want to get started? Check our examples folder to learn how to spawn an IPFS node in Node.js and in the Browser.

๐Ÿšจ Please read this ๐Ÿšจ The DHT, a fundamental piece for automatic content and peer discovery is not yet complete. There are multiple applications that can be built without this service but nevertheless it is fundamental to getting that magic IPFS experience. The current status is that implementation is done and merged and we're working on performance issues. Expect the DHT to be available in a release very soon.

Weekly Core Implementations Call

Tech Lead

David Dias

Lead Maintainer

Alan Shaw

Table of Contents

Structure

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

Development

Clone and install dependencies

> git clone https://github.com/ipfs/js-ipfs.git
> cd js-ipfs
> npm install

This will install lerna and bootstrap the various packages, deduping and hoisting dependencies into the root folder.

If later you add new dependencies to submodules or just wish to remove all the node_modules/dist folders and start again, run npm run reset && npm install from the root.

See the scripts section of the root package.json for more commands.

Run tests

# run all the unit tests
> npm test

# run just IPFS tests in Node.js
> npm run test:node

# run just IPFS tests in a browser
> npm run test:browser

# run just IPFS tests in a webworker
> npm run test:webworker

More granular test suites can be run from each submodule.

Please see the package.json in each submodule for available commands.

Lint

Please run the linter before submitting a PR, the build will not pass if it fails:

> npm run lint

Build a dist version

> npm run build

Publishing new versions

  1. Ensure you have a GH_TOKEN env var containing a GitHub Personal Access Token with public_repo permissions
  2. From the root of this repo run npm run release and follow the on screen prompts. It will use conventional commits to work out the new package version

Using prerelease versions

Any changed packages from each successful build of master are published to npm as canary builds under the npm tag next.

Contribute

IPFS implementation in JavaScript is a work in progress. As such, there's a few things you can do right now to help out:

  • Go through the modules below and check out existing issues. This would be especially useful for modules in active development. Some knowledge of IPFS may be required, as well as the infrastructure behind it - for instance, you may need to read up on p2p and more complex operations like muxing to be able to help technically.
  • Perform code reviews. More eyes will help (a) speed the project along, (b) ensure quality, and (c) reduce possible future bugs.
  • Take a look at go-ipfs and some of the planning repositories or issues: for instance, the libp2p spec. Contributions here that would be most helpful are top-level comments about how it should look based on our understanding. Again, the more eyes the better.
  • Add tests. There can never be enough tests.

Want to hack on IPFS?

Check out ipfs/community/CONTRIBUTING_JS.md for details on coding standards, commit messages and other project conventions

License

FOSSA Status

js-ipfs's People

Contributors

achingbrain avatar alanshaw avatar ckeenan avatar daviddias avatar dignifiedquire avatar dirkmc avatar dryajov avatar fbaiodias avatar fsdiogo avatar greenkeeper[bot] avatar greenkeeperio-bot avatar hacdias avatar hackergrrl avatar harlantwood avatar hugomrdias avatar jacobheun avatar jbenet avatar krl avatar kumavis avatar lidel avatar mappum avatar nginnever avatar olizilla avatar pgte avatar richardlitt avatar richardschneider avatar travisperson avatar vasco-santos avatar victorb avatar vmx 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.