Skip to content

Commit

Permalink
doc: cleanup experimental features a bit
Browse files Browse the repository at this point in the history
  • Loading branch information
Stebalien committed Apr 6, 2020
1 parent f190d37 commit 49b6986
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 15 deletions.
32 changes: 24 additions & 8 deletions docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -316,18 +316,34 @@ A number of seconds to wait between discovery checks.

## `Routing`

Contains options for content routing mechanisms.
Contains options for content, peer, and IPNS routing mechanisms.

### `Routing.Type`

Content routing mode. Can be overridden with daemon `--routing` flag. When set
to `dhtclient`, the node won't join the DHT but can still use it to find
content.
Content routing mode. Can be overridden with daemon `--routing` flag.

Valid modes are:
- `dht` (default)
- `dhtclient`
- `none`
There are two core routing options: "none" and "dht" (default).

* If set to "none", your node will use _no_ routing system. You'll have to
explicitly connect to peers that have the content you're looking for.
* If set to "dht" (or "dhtclient"/"dhtserver"), your node will use the IPFS DHT.

When the DHT is enabled, it can operate in two modes: client and server.

* In server mode, your node will query other peers for DHT records, and will
respond to requests from other peers (both requests to store records and
requests to retrieve records).
* In client mode, your node will query the DHT as a client but will not respond
to requests from other peers. This mode is less resource intensive than server
mode.

When `Routing.Type` is set to `dht`, your node will start as a DHT client, and
switch to a DHT server when and if it determines that it's reachable from the
public internet (e.g., it's not behind a firewall).

To force a specific DHT mode, client or server, set `Routing.Type` to
`dhtclient` or `dhtserver` respectively. Please do not set this to `dhtserver`
unless you're sure your node is reachable from the public network.

**Example:**

Expand Down
18 changes: 11 additions & 7 deletions docs/experimental-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,21 +82,20 @@ signed) by running:
---

## Client mode DHT routing

Allows the dht to be run in a mode that doesn't serve requests to the network,
saving bandwidth.

### State
experimental.
stable

### In Version
0.4.5

0.5.0

### How to enable
run your daemon with the `--routing=dhtclient` flag.

### Road to being a real feature
- [ ] Needs more people to use and report on how well it works.
- [ ] Needs analysis of effect it has on the network as a whole.
run your daemon with the `--routing=dhtclient` flag.

---

Expand Down Expand Up @@ -507,6 +506,8 @@ See [Plugin docs](./plugins.md)
- [ ] More plugins and plugin types
- [ ] Feedback on stability

---

## Badger datastore

### In Version
Expand Down Expand Up @@ -591,7 +592,7 @@ run your daemon with the `--enable-namesys-pubsub` flag; enables pubsub.
so that we don't have to hit the DHT for the initial resolution.
Alternatively, we could republish the last record periodically.


---

## QUIC

Expand Down Expand Up @@ -662,6 +663,7 @@ ipfs config --json Swarm.EnableAutoNATService true

Stable

---

## Strategic Providing

Expand All @@ -688,6 +690,8 @@ ipfs config --json Experimental.StrategicProviding true
- [ ] provide roots
- [ ] provide all
- [ ] provide strategic

---

## GraphSync

Expand Down

0 comments on commit 49b6986

Please sign in to comment.