Skip to content

Commit a62ac26

Browse files
committed
docs: upate node types
1 parent 85ef167 commit a62ac26

File tree

1 file changed

+34
-17
lines changed

1 file changed

+34
-17
lines changed

docs/node-types.md

+34-17
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,27 @@
11
# Node Types in IPFS Companion
22

33
> ![screenshot of node type switch](https://user-images.githubusercontent.com/157609/42382479-b4d98768-8134-11e8-979c-69b758846bf0.png)<br/>
4-
> _IPFS Node Type selection_
5-
----
64
7-
> ### **TL;DR** when in doubt, run go-ipfs as _External_ node on your localhost:
8-
> - [IPFS Desktop](https://github.com/ipfs-shipyard/ipfs-desktop) is a GUI app for Windows/Linux/Mac that installs and manages local IPFS node for you
9-
> - If you prefer more on-hands approach:
10-
> - install IPFS node by hand: [Getting Started](https://ipfs.io/docs/getting-started/)
11-
> - or run it in [Docker](https://github.com/ipfs/go-ipfs#docker-usage)
125

13-
## External
6+
Available node types:
7+
8+
- [External](#%EF%B8%8F-external)
9+
- [Embedded](#%EF%B8%8F-embedded)
10+
- [Embedded + `chrome.sockets`](#-embedded--chromesockets)
11+
- [Public](#-public)
12+
13+
## TL;DR
14+
15+
When in doubt, use _External_ node running on your localhost:
16+
- [IPFS Desktop](https://github.com/ipfs-shipyard/ipfs-desktop) is a GUI app for Windows/Linux/Mac that installs and manages local IPFS node for you
17+
- If you prefer more hands-on approach:
18+
- install IPFS by following [Getting Started](https://docs.ipfs.io/introduction/usage/) guide
19+
- or run it in [Docker](https://github.com/ipfs/go-ipfs#docker-usage)
20+
- If you are using [Brave](https://brave.com/), feel free to experiment with [Embedded + `chrome.sockets`](#-embedded--chromesockets).
21+
You can always switch back to _External_ with local IPFS Desktop
22+
23+
24+
## 🛰️ External
1425

1526
_External_ node can be any instance of IPFS daemon that runs outside of web
1627
browser process and exposes _Gateway_ and writable _API_ over HTTP at TCP ports.
@@ -28,7 +39,7 @@ A good practice is to run it on localhost (`127.0.0.1`) as it provides:
2839
Don't know where to start? See [Getting Started](https://ipfs.io/docs/getting-started/) instructions.
2940

3041

31-
## Embedded
42+
## 🏗️ Embedded
3243

3344
_Embedded_ node is a js-ipfs instance running in browser (in-memory), without need for
3445
any external software.
@@ -59,20 +70,26 @@ Power users can provide [custom config](https://github.com/ipfs/js-ipfs#faq) (eg
5970
When in doubt, run go-ipfs as External node instead.
6071

6172

62-
## Embedded + `chrome.sockets`
73+
## 🦄 Embedded + `chrome.sockets`
6374

6475
This node type replaces regular _Embedded_ type if browser vendor granted us access to `chrome.sockets` APIs.
65-
Those powerful APIs enable exciting possibilities:
76+
Those powerful APIs enable embedded js-ipfs to provide true p2p experience without the need for external daemon:
77+
78+
### 🚪 HTTP Gateway
79+
- access IPFS resources over HTTP without relying on a public gateway
80+
- automatically picks a free localhost port
81+
82+
### 🚄 TCP transport
83+
- embedded js-ipfs is able to connect to go-ipfs
84+
- go-ipfs is able to connect to embedded js-ipfs
6685

67-
- Embedded HTTP Gateway [wip]
68-
- True P2P over TCP/UDP transports [future]
69-
- Local Discovery (mDNS/DNS-SD) [future]
86+
### 🔮 Local Discovery (mDNS/DNS-SD)
7087

71-
**Note:** this is still work in progress: one can track progress in [ipfs-companion/issues/664](https://github.com/ipfs-shipyard/ipfs-companion/issues/664).
72-
Right now only [Brave Nightly](https://brave.com/download-nightly/) supports this.
88+
- embedded node discovers go-ipfs in LAN and automatically connects to it
7389

90+
**Note:** this is still work in progress, see [Embedded JS-IPFS in Brave](https://github.com/ipfs-shipyard/ipfs-companion/issues/716) for the current status.
7491

75-
## Public
92+
## 🌐 Public
7693

7794
Public node is not a part of the toggle UI. It is used as an implicit fallback for its Gateway functionality when External node is offline or Embedded node is used.
7895
It does not expose API port.

0 commit comments

Comments
 (0)