diff --git a/docs/config.md b/docs/config.md index 9efe56c53..03b64ef45 100644 --- a/docs/config.md +++ b/docs/config.md @@ -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:** diff --git a/docs/experimental-features.md b/docs/experimental-features.md index b84602052..3d54b9cb7 100644 --- a/docs/experimental-features.md +++ b/docs/experimental-features.md @@ -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. --- @@ -507,6 +506,8 @@ See [Plugin docs](./plugins.md) - [ ] More plugins and plugin types - [ ] Feedback on stability +--- + ## Badger datastore ### In Version @@ -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 @@ -662,6 +663,7 @@ ipfs config --json Swarm.EnableAutoNATService true Stable +--- ## Strategic Providing @@ -688,6 +690,8 @@ ipfs config --json Experimental.StrategicProviding true - [ ] provide roots - [ ] provide all - [ ] provide strategic + +--- ## GraphSync