You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/node-types.md
+34-17
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,27 @@
1
1
# Node Types in IPFS Companion
2
2
3
3
> <br/>
4
-
> _IPFS Node Type selection_
5
-
----
6
4
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)
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
14
25
15
26
_External_ node can be any instance of IPFS daemon that runs outside of web
16
27
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:
28
39
Don't know where to start? See [Getting Started](https://ipfs.io/docs/getting-started/) instructions.
29
40
30
41
31
-
## Embedded
42
+
## 🏗️ Embedded
32
43
33
44
_Embedded_ node is a js-ipfs instance running in browser (in-memory), without need for
34
45
any external software.
@@ -59,20 +70,26 @@ Power users can provide [custom config](https://github.com/ipfs/js-ipfs#faq) (eg
59
70
When in doubt, run go-ipfs as External node instead.
60
71
61
72
62
-
## Embedded + `chrome.sockets`
73
+
## 🦄 Embedded + `chrome.sockets`
63
74
64
75
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
66
85
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)
70
87
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
73
89
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.
74
91
75
-
## Public
92
+
## 🌐 Public
76
93
77
94
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.
0 commit comments