|
1 | 1 | <p align="center">
|
2 | 2 | <a href="https://libp2p.io">
|
3 |
| - <img width="250" src="https://github.com/libp2p/js-libp2p/blob/master/img/libp2p.png?raw=true" alt="libp2p hex logo" /> |
| 3 | + <img width="250" src="https://github.com/libp2p/js-libp2p/blob/main/img/libp2p.png?raw=true" alt="libp2p hex logo" /> |
4 | 4 | </a>
|
5 | 5 | </p>
|
6 | 6 |
|
|
18 | 18 |
|
19 | 19 | ## Table of Contents
|
20 | 20 |
|
21 |
| -- [Table of Contents](#table-of-contents) |
22 | 21 | - [About The Project](#about-the-project)
|
23 | 22 | - [Getting Started](#getting-started)
|
24 |
| - - [Examples](#examples) |
25 |
| - - [Understanding how libp2p works](#understanding-how-libp2p-works) |
26 |
| - - [Other examples](#other-examples) |
27 |
| - - [libp2p in the Browser](#libp2p-in-the-browser) |
28 | 23 | - [Prerequisites](#prerequisites)
|
| 24 | + - [Understanding how libp2p works](#understanding-how-libp2p-works) |
| 25 | + - [Other examples](#other-examples) |
| 26 | + - [libp2p in browsers](#libp2p-in-browsers) |
29 | 27 | - [Documentation](#documentation)
|
30 | 28 | - [Contribute](#contribute)
|
31 | 29 | - [License](#license)
|
|
42 | 40 |
|
43 | 41 | ## Getting Started
|
44 | 42 |
|
45 |
| -### Examples |
46 |
| - |
47 | 43 | Feel free to jump directly into the examples, however going through the following sections will help build context and background knowledge.
|
48 | 44 |
|
49 |
| -#### Understanding how libp2p works |
| 45 | +### Prerequisites |
| 46 | + |
| 47 | +Make sure you have installed all of the following prerequisites on your development machine: |
| 48 | + |
| 49 | +- Git - [Download & Install Git](https://git-scm.com/downloads). OSX and Linux machines typically have this already installed. |
| 50 | +- Node.js - [Download & Install Node.js](https://nodejs.org/en/download/) and the npm package manager. |
| 51 | + |
| 52 | +### Understanding how libp2p works |
50 | 53 |
|
51 | 54 | - [Circuit Relay](https://github.com/libp2p/js-libp2p-example-circuit-relay) - configuring Circuit Relay connections
|
52 | 55 | - [Connection Encryption](https://github.com/libp2p/js-libp2p-example-connection-encryption) - how to encrypt connection between libp2p nodes
|
53 | 56 | - [Delegated routing](https://github.com/libp2p/js-libp2p-example-delegated-routing) - how to offload network operations and queries onto more capable nodes
|
54 | 57 | - [Discovery mechanisms](https://github.com/libp2p/js-libp2p-example-discovery-mechanisms) - how libp2p discovers other peers on the network
|
55 | 58 | - [Custom protocols](https://github.com/libp2p/js-libp2p-example-custom-protocols) - how to create a custom protocol for your application
|
56 | 59 |
|
57 |
| -#### Other examples |
| 60 | +### Other examples |
58 | 61 |
|
59 | 62 | - [Chat](https://github.com/libp2p/js-libp2p-example-chat) - a simple chat app
|
60 | 63 | - [Browser Pub/Sub](https://github.com/libp2p/js-libp2p-example-browser-pubsub) - Using Pub/Sub between browsers
|
61 | 64 |
|
62 |
| -#### libp2p in the Browser |
| 65 | +### libp2p in browsers |
63 | 66 |
|
64 | 67 | There are a number of ways libp2p can be used in the browser. Here are some examples:
|
65 | 68 |
|
66 |
| -- [webRTC](./libp2p-in-the-browser/webrtc/README.md) |
67 |
| -- [websockets](./libp2p-in-the-browser/websockets/README.md) |
68 |
| -- [webtransport](./libp2p-in-the-browser/webtransport/README.md) |
| 69 | +- [webRTC](https://github.com/libp2p/js-libp2p-example-webrtc-private-to-private) |
| 70 | +- websockets (example pending) |
| 71 | +- webtransport (example pending) |
69 | 72 |
|
70 |
| -There is also an tutorial of how all of these transports can be [universally connected](https://github.com/libp2p/universal-connectivity/tree/main) |
71 |
| - |
72 |
| -### Prerequisites |
73 |
| - |
74 |
| -Make sure you have installed all of the following prerequisites on your development machine: |
75 |
| - |
76 |
| -- Git - [Download & Install Git](https://git-scm.com/downloads). OSX and Linux machines typically have this already installed. |
77 |
| -- Node.js - [Download & Install Node.js](https://nodejs.org/en/download/) and the npm package manager. |
| 73 | +There is also [universal connectivity](https://github.com/libp2p/universal-connectivity/tree/main) demo that shows of how many different libp2p implementations can be connected together. |
78 | 74 |
|
79 | 75 | ## Documentation
|
80 | 76 |
|
81 |
| -- [js-libp2p docs](https://github.com/libp2p/js-libp2p/tree/master/doc) |
| 77 | +- [js-libp2p docs](https://github.com/libp2p/js-libp2p/tree/main/doc) |
82 | 78 | - [libp2p.io](https://libp2p.io)
|
83 | 79 | - [docs.libp2p.io](https://docs.libp2p.io)
|
84 |
| -- [Specification (WIP)](https://github.com/libp2p/specs) |
85 |
| -- [Discussion Forums](https://discuss.libp2p.io) |
| 80 | +- [Specifications](https://github.com/libp2p/specs) |
| 81 | +- [Discussion Forums](https://github.com/libp2p/js-libp2p/discussions) |
86 | 82 | - Talks
|
87 | 83 | - [`libp2p <3 ethereum` at DEVCON2](https://archive.devcon.org/archive/watch/2/libp2p-devp2p-ipfs-and-ethereum-networking/)
|
88 | 84 | - Articles
|
89 | 85 | - [The overview of libp2p](https://github.com/libp2p/libp2p#description)
|
90 | 86 |
|
91 | 87 | ## Contribute
|
92 | 88 |
|
93 |
| -See [CONTRIBUTING.md](./CONTRIBUTING.md). |
| 89 | +See [CONTRIBUTING.md](https://github.com/libp2p/js-libp2p-examples/blob/main/CONTRIBUTING.md). |
94 | 90 |
|
95 | 91 | ## License
|
96 | 92 |
|
97 | 93 | Licensed under either of
|
98 | 94 |
|
99 |
| -- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>) |
100 |
| -- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>) |
| 95 | +- Apache 2.0, ([LICENSE-APACHE](https://github.com/libp2p/js-libp2p-examples/blob/main/LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>) |
| 96 | +- MIT ([LICENSE-MIT](https://github.com/libp2p/js-libp2p-examples/blob/main/LICENSE-MIT) / <http://opensource.org/licenses/MIT>) |
0 commit comments