|
| 1 | +<p align="center"> |
| 2 | + <a href="https://js.ipfs.io" title="JS IPFS"> |
| 3 | + <img src="https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png" alt="IPFS in JavaScript logo" width="244" /> |
| 4 | + </a> |
| 5 | +</p> |
| 6 | + |
| 7 | +<h3 align="center"><b>JS IPFS Examples</b></h3> |
| 8 | + |
| 9 | +<p align="center"> |
| 10 | + <b><i>Collection of js-ipfs examples</i></b> |
| 11 | + <br /> |
| 12 | + <br /> |
| 13 | + <img src="https://raw.githubusercontent.com/jlord/forkngo/gh-pages/badges/cobalt.png" width="200"> |
| 14 | + <br> |
| 15 | + <a href="https://github.com/ipfs/js-ipfs/tree/master/docs">Explore the docs</a> |
| 16 | + · |
| 17 | + <a href="https://github.com/ipfs-examples/js-ipfs-examples/issues">Report Bug</a> |
| 18 | + · |
| 19 | + <a href="https://github.com/ipfs-examples/js-ipfs-examples/issues">Request Feature/Example</a> |
| 20 | + </p> |
| 21 | + |
| 22 | +## Table of Contents |
| 23 | + |
| 24 | +- [Table of Contents](#table-of-contents) |
| 25 | +- [About The Project](#about-the-project) |
| 26 | +- [Getting Started](#getting-started) |
| 27 | + - [Prerequisites](#prerequisites) |
| 28 | + - [Installation](#installation) |
| 29 | +- [Structure](#structure) |
| 30 | +- [IPFS Tutorials at ProtoSchool](#ipfs-tutorials-at-protoschool) |
| 31 | +- [Documentation](#documentation) |
| 32 | +- [Contributing](#contributing) |
| 33 | +- [Want to hack on IPFS?](#want-to-hack-on-ipfs) |
| 34 | + |
| 35 | +## About The Project |
| 36 | + |
| 37 | +- Read the [docs](https://github.com/ipfs/js-ipfs/tree/master/docs) |
| 38 | +- Look into other [examples](https://github.com/ipfs/js-ipfs/tree/master/examples) to learn how to spawn an IPFS node in Node.js and in the Browser |
| 39 | +- Consult the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node |
| 40 | +- Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it |
| 41 | +- Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs |
| 42 | +- Check out https://docs.ipfs.io for tips, how-tos and more |
| 43 | +- See https://blog.ipfs.io for news and more |
| 44 | +- Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io |
| 45 | + |
| 46 | +## Getting Started |
| 47 | + |
| 48 | +### Prerequisites |
| 49 | + |
| 50 | +Make sure you have installed all of the following prerequisites on your development machine: |
| 51 | + |
| 52 | +- Git - [Download & Install Git](https://git-scm.com/downloads). OSX and Linux machines typically have this already installed. |
| 53 | +- Node.js - [Download & Install Node.js](https://nodejs.org/en/download/) and the npm package manager. |
| 54 | + |
| 55 | +### Installation |
| 56 | + |
| 57 | +1. Install yarn globally (needed to resolve dependencies correctly when working in a monorepo) |
| 58 | + ```sh |
| 59 | + npm install -g yarn |
| 60 | + ``` |
| 61 | +2. Install NPM packages |
| 62 | + ```sh |
| 63 | + npm run init |
| 64 | + ``` |
| 65 | +3. Run all the examples |
| 66 | + ```sh |
| 67 | + npm run test:examples |
| 68 | + ``` |
| 69 | + |
| 70 | +## Structure |
| 71 | + |
| 72 | +This project is broken into 2 modules, their purposes are: |
| 73 | + |
| 74 | +- [`/examples/*`](./examples) Examples of IPFS implementations with bundlers, frameworks, tutorials among others |
| 75 | +- [`/lib/test-util-ipfs-example`](./lib/test-util-ipfs-example) Collection of helpers to orchestrate the tests for the examples |
| 76 | + |
| 77 | +## IPFS Tutorials at ProtoSchool |
| 78 | + |
| 79 | +Explore [ProtoSchool's IPFS tutorials](https://proto.school/#/tutorials?course=ipfs) for interactive js-ipfs coding challenges, deep dives into DWeb concepts like content addressing, and more. |
| 80 | + |
| 81 | +## Documentation |
| 82 | + |
| 83 | +- [Config](https://docs.ipfs.io/) |
| 84 | +- [Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) |
| 85 | +- [Examples](https://github.com/ipfs/js-ipfs/tree/master/examples) |
| 86 | +- [Development](https://github.com/ipfs/js-ipfs/blob/master/docs/DEVELOPMENT.md) |
| 87 | + |
| 88 | +## Contributing |
| 89 | + |
| 90 | +Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**. |
| 91 | + |
| 92 | +1. Fork the IPFS Examples Project (`https://github.com/ipfs-examples/js-ipfs-examples`) |
| 93 | +2. Create your Feature Branch (`git checkout -b feature/amazing-feature`) |
| 94 | +3. Commit your Changes (`git commit -a -m 'feat: add some amazing feature'`) |
| 95 | +4. Push to the Branch (`git push origin feature/amazing-feature`) |
| 96 | +5. Open a Pull Request |
| 97 | + |
| 98 | +## Want to hack on IPFS? |
| 99 | + |
| 100 | +[](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) |
| 101 | + |
| 102 | +The IPFS implementation in JavaScript needs your help! There are a few things you can do right now to help out: |
| 103 | + |
| 104 | +Read the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md). |
| 105 | + |
| 106 | +- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge |
| 107 | +- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now |
| 108 | +- **Perform code reviews** More eyes will help |
| 109 | + a. speed the project along |
| 110 | + b. ensure quality, and |
| 111 | + c. reduce possible future bugs. |
| 112 | +- **Add tests**. There can never be enough tests. |
| 113 | +- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next |
0 commit comments