Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 3.38 KB

node-types.md

File metadata and controls

65 lines (47 loc) · 3.38 KB

Node Types in IPFS Companion

screenshot of node type switch
IPFS Node Type selection


TL;DR when in doubt, run go-ipfs as External node on your localhost:

  • IPFS Desktop is a GUI app for Windows/Linux/Mac that installs and manages local IPFS node for you
  • If you prefer more on-hands approach:

External

External node can be any instance of IPFS daemon that runs outside of web browser process and exposes Gateway and writable API over HTTP at TCP ports.

At this time go-ipfs daemon is preferred implementation. It is easier on CPU and provides dhtclient mode which decreases ambient bandwidth use and smaller battery drain (key characteristics of something that is expected to run in background all the time).

A good practice is to run it on localhost (127.0.0.1) as it provides:

  • Increased security (native IPFS used as end-to-end transport)
  • Better UX in web browser (no mixed-content warnings)
  • Improved performance (local loopback is used, no network overhead)

Don't know where to start? See Getting Started instructions.

Embedded

Embedded node is a js-ipfs instance running in browser (in-memory), without need for any external software.

It is a work in progress but can be used for development and experimentation eg. for testing a dapp that uses window.ipfs without having to install and start up your own IPFS daemon.

Power users can provide custom config (eg. to enable experimental pubsub) via Preferences

Note that at the time this note was created, Embedded js-ipfs running within webextension (browser context) comes with some limitations:

When in doubt, run go-ipfs as External node instead.

Public

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. It does not expose API port.