From 0c08e0678ca483162710915bd678b689d3455b4b Mon Sep 17 00:00:00 2001 From: "@RubenKelevra" Date: Mon, 30 Mar 2020 18:03:12 +0200 Subject: [PATCH 1/3] docs/experimental-features.md: typo --- docs/experimental-features.md | 63 +++++++++++++++-------------------- 1 file changed, 27 insertions(+), 36 deletions(-) diff --git a/docs/experimental-features.md b/docs/experimental-features.md index 64aa3b7c071..1f44526858e 100644 --- a/docs/experimental-features.md +++ b/docs/experimental-features.md @@ -8,7 +8,7 @@ removed. Subscribe to https://github.com/ipfs/go-ipfs/issues/3397 to get updates. -When you add a new experimental feature to go-ipfs, or change an experimental +When you add a new experimental feature to go-ipfs or change an experimental feature, you MUST please make a PR updating this document, and link the PR in the above issue. @@ -53,7 +53,7 @@ run your daemon with the `--enable-pubsub-experiment` flag. Then use the Gossipsub is a new, experimental routing protocol for pubsub that should waste less bandwidth than floodsub, the current pubsub -protocol. It's backwards compatible with floodsub so enabling this +protocol. It's backward compatible with floodsub so enabling this feature shouldn't break compatibility with existing IPFS nodes. You can enable gossipsub via configuration: @@ -76,7 +76,7 @@ signed) by running: ### Road to being a real feature - [ ] Needs more people to use and report on how well it works -- [ ] Needs authenticated modes to be implemented +- [ ] Needs authenticating modes to be implemented - [ ] needs performance analyses to be done --- @@ -168,7 +168,7 @@ filestore instead of copying the files into your local IPFS repo. --- ## ipfs urlstore -Allows ipfs to retrieve blocks contents via a url instead of storing it in the datastore +Allows ipfs to retrieve blocks contents via a URL instead of storing it in the datastore ### State experimental. @@ -195,7 +195,7 @@ And then add a file at a specific URL using `ipfs urlstore add ` ## Private Networks -Allows ipfs to only connect to other peers who have a shared secret key. +It allows ipfs to only connect to other peers who have a shared secret key. ### State Experimental @@ -249,7 +249,7 @@ configured, the daemon will fail to start. ## ipfs p2p Allows tunneling of TCP connections through Libp2p streams. If you've ever used -port forwarding with SSH (the `-L` option in openssh), this feature is quite +port forwarding with SSH (the `-L` option in OpenSSH), this feature is quite similar. ### State @@ -262,7 +262,7 @@ master, 0.4.10 ### How to enable -The `p2p` command needs to be enabled in config: +The `p2p` command needs to be enabled in the config: ```sh > ipfs config --json Experimental.Libp2pStreamMounting true @@ -354,13 +354,13 @@ with `ssh [user]@127.0.0.1 -p 2222`. ### Road to being a real feature - [ ] Needs more people to use and report on how well it works / fits use cases - [ ] More documentation -- [ ] Support other protocols (e.g, unix domain sockets, websockets, etc.) +- [ ] Support other protocols (e.g, Unix domain sockets, WebSockets, etc.) --- ## p2p http proxy -Allows proxying of HTTP requests over p2p streams. This allows serving any standard http app over p2p streams. +Allows proxying of HTTP requests over p2p streams. This allows serving any standard HTTP app over p2p streams. ### State @@ -372,13 +372,13 @@ master, 0.4.19 ### How to enable -The `p2p` command needs to be enabled in config: +The `p2p` command needs to be enabled in the config: ```sh > ipfs config --json Experimental.Libp2pStreamMounting true ``` -On the client, the p2p http proxy needs to be enabled in the config: +On the client, the p2p HTTP proxy needs to be enabled in the config: ```sh > ipfs config --json Experimental.P2pHttpProxy true @@ -427,10 +427,10 @@ the remote machine (which needs to be a http server!) with path `$FORWARDED_PATH > curl http://localhost:8080/p2p/$SERVER_ID/http/ ``` -You should now see the resulting http response: IPFS rocks! +You should now see the resulting HTTP response: IPFS rocks! ### Custom protocol names -We also support use of protocol names of the form /x/$NAME/http where $NAME doesn't contain any "/"'s +We also support the use of protocol names of the form /x/$NAME/http where $NAME doesn't contain any "/"'s ### Road to being a real feature - [ ] Needs p2p streams to graduate from experiments @@ -453,7 +453,7 @@ master, 0.4.11 ### How to enable The relay transport is enabled by default, which allows peers to dial through -relay and listens for incoming relay connections. The transport can be disabled +a relay and listens for incoming relay connections. The transport can be disabled by setting `Swarm.DisableRelay = true` in the configuration. By default, peers don't act as intermediate nodes (relays). This can be enabled @@ -463,7 +463,7 @@ already online node would have to be restarted. ### Basic Usage: -In order to connect peers QmA and QmB through a relay node QmRelay: +To connect peers QmA and QmB through a relay node QmRelay: - Both peers should connect to the relay: `ipfs swarm connect /transport/address/p2p/QmRelay` @@ -483,8 +483,7 @@ Peers can see their (unspecific) relay address in the output of - [ ] Advertise relay addresses to the DHT for NATed or otherwise unreachable peers. - [ ] Active relay discovery for specific relay address advertisement. We would - like advertised relay addresses to designate specific relays for efficient - dialing. + like advertised relay addresses to designate specific relays for efficient dialing. - [ ] Dialing priorities for relay addresses; arguably, relay addresses should have lower priority than direct dials. @@ -496,7 +495,7 @@ Peers can see their (unspecific) relay address in the output of ### State Experimental -Plugins allow to add functionality without the need to recompile the daemon. +Plugins allow adding functionality without the need to recompile the daemon. ### Basic Usage: @@ -545,7 +544,7 @@ You can read more in the [datastore](./datastores.md#badgerds) documentation. ### State Experimental -Allows to create directories with unlimited number of entries - currently +Allows to create directories with an unlimited number of entries - currently size of unixfs directories is limited by the maximum block size ### Basic Usage: @@ -571,20 +570,15 @@ ipfs config --json Experimental.ShardingEnabled true Experimental, default-disabled. -Utilizes pubsub for publishing ipns records in real time. +Utilizes pubsub for publishing ipns records in real-time. When it is enabled: - IPNS publishers push records to a name-specific pubsub topic, in addition to publishing to the DHT. - IPNS resolvers subscribe to the name-specific topic on first - resolution and receive subsequently published records through pubsub - in real time. This makes subsequent resolutions instant, as they - are resolved through the local cache. Note that the initial - resolution still goes through the DHT, as there is no message - history in pubsub. + resolution and receive subsequently published records through pubsub in real-time. This makes subsequent resolutions instant, as they are resolved through the local cache. Note that the initial resolution still goes through the DHT, as there is no message history in pubsub. -Both the publisher and the resolver nodes need to have the feature enabled for it -to work effectively. +Both the publisher and the resolver nodes need to have the feature enabled for it to work effectively. ### How to enable @@ -617,14 +611,14 @@ Modify your ipfs config: ipfs config --json Experimental.QUIC true ``` -For listening on a QUIC address, add it the swarm addresses, e.g. `/ip4/0.0.0.0/udp/4001/quic`. +For listening on a QUIC address, add it to the swarm addresses, e.g. `/ip4/0.0.0.0/udp/4001/quic`. ### Road to being a real feature -- [ ] The IETF QUIC specification needs to be finalised. +- [ ] The IETF QUIC specification needs to be finalized. - [ ] Make sure QUIC connections work reliably -- [ ] Make sure QUIC connection offer equal or better performance than TCP connections on real world networks +- [ ] Make sure QUIC connection offer equal or better performance than TCP connections on real-world networks - [ ] Finalize libp2p-TLS handshake spec. @@ -687,9 +681,9 @@ ipfs config --json Experimental.StrategicProviding true ### Road to being a real feature -- [ ] needs real world testing +- [ ] needs real-world testing - [ ] needs adoption -- [ ] needs to support all providing features +- [ ] needs to support all provided features - [X] provide nothing - [ ] provide roots - [ ] provide all @@ -717,7 +711,4 @@ ipfs config --json Experimental.GraphsyncEnabled true ### Road to being a real feature -- [ ] We need to confirm that it can't be used to DoS a node. The server-side - logic for GraphSync is quite complex and, if we're not careful, the server - might end up performing unbounded work when responding to a malicious - request. +- [ ] We need to confirm that it can't be used to DoS a node. The server-side logic for GraphSync is quite complex and, if we're not careful, the server might end up performing unbounded work when responding to a malicious request. From 4611e41e5cf5c228acb5a0397bc9298a2ddb6dac Mon Sep 17 00:00:00 2001 From: "@RubenKelevra" Date: Mon, 30 Mar 2020 21:01:56 +0200 Subject: [PATCH 2/3] Apply suggestions from code review Co-Authored-By: Will --- docs/experimental-features.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/experimental-features.md b/docs/experimental-features.md index 1f44526858e..e94e38799ac 100644 --- a/docs/experimental-features.md +++ b/docs/experimental-features.md @@ -544,7 +544,7 @@ You can read more in the [datastore](./datastores.md#badgerds) documentation. ### State Experimental -Allows to create directories with an unlimited number of entries - currently +Allows creating directories with an unlimited number of entries - currently size of unixfs directories is limited by the maximum block size ### Basic Usage: @@ -570,13 +570,13 @@ ipfs config --json Experimental.ShardingEnabled true Experimental, default-disabled. -Utilizes pubsub for publishing ipns records in real-time. +Utilizes pubsub for publishing ipns records in real time. When it is enabled: - IPNS publishers push records to a name-specific pubsub topic, in addition to publishing to the DHT. - IPNS resolvers subscribe to the name-specific topic on first - resolution and receive subsequently published records through pubsub in real-time. This makes subsequent resolutions instant, as they are resolved through the local cache. Note that the initial resolution still goes through the DHT, as there is no message history in pubsub. + resolution and receive subsequently published records through pubsub in real time. This makes subsequent resolutions instant, as they are resolved through the local cache. Note that the initial resolution still goes through the DHT, as there is no message history in pubsub. Both the publisher and the resolver nodes need to have the feature enabled for it to work effectively. From 4743b3f3414cb25bf73eee40a2eb5b479855dba7 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Mon, 30 Mar 2020 13:15:18 -0700 Subject: [PATCH 3/3] docs: fix provided -> provider subsystem --- docs/experimental-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/experimental-features.md b/docs/experimental-features.md index e94e38799ac..b84602052c4 100644 --- a/docs/experimental-features.md +++ b/docs/experimental-features.md @@ -683,7 +683,7 @@ ipfs config --json Experimental.StrategicProviding true - [ ] needs real-world testing - [ ] needs adoption -- [ ] needs to support all provided features +- [ ] needs to support all provider subsystem features - [X] provide nothing - [ ] provide roots - [ ] provide all