Skip to content

Commit 9462fd2

Browse files
authored
docs: Bulk spelling edits (#365)
* IPNS.md | Implementer -> implementor * REDIRECTS_FILE.md | implementors -> implementers * PATH_GATEWAY.md | remainer -> parameter * Bulk edits
1 parent ed02df4 commit 9462fd2

11 files changed

+34
-34
lines changed

ARCHITECTURE.md

+13-13
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Note, this document is not meant to be an introduction of the concepts in IPFS a
2121
- 1. IPFS and the Merkle DAG
2222
- 2. Nodes and Network Model
2323
- 3. The Stack
24-
- 4. Applications and Datastructures -- on top of IPFS
24+
- 4. Applications and data structures -- on top of IPFS
2525
- 5. Lifetime of fetching an object
2626
- 6. IPFS User Interfaces
2727

@@ -31,7 +31,7 @@ At the heart of IPFS is the MerkleDAG, a directed acyclic graph whose links are
3131

3232
- authenticated: content can be hashed and verified against the link
3333
- permanent: once fetched, objects can be cached forever
34-
- universal: any datastructure can be represented as a merkledag
34+
- universal: any data structure can be represented as a merkledag
3535
- decentralized: objects can be created by anyone, without centralized writers
3636

3737
In turn, these yield properties for the system as a whole:
@@ -41,7 +41,7 @@ In turn, these yield properties for the system as a whole:
4141
- objects can be cached permanently
4242
- objects can be created and used offline
4343
- networks can be partitioned and merged
44-
- any datastructure can be modelled and distributed
44+
- any data structure can be modelled and distributed
4545
- (todo: list more)
4646

4747
IPFS is a stack of network protocols that organize agent networks to create, publish, distribute, serve, and download merkledags. It is the authenticated, decentralized, permanent web.
@@ -78,7 +78,7 @@ IPFS has a stack of modular protocols. Each layer may have multiple implementati
7878
IPFS has five layers:
7979

8080
- **naming** - a self-certifying PKI namespace (IPNS)
81-
- **merkledag** - datastructure format (thin waist)
81+
- **merkledag** - data structure format (thin waist)
8282
- **exchange** - block transport and replication
8383
- **routing** - locating peers and objects
8484
- **network** - establishing connections between peers
@@ -103,7 +103,7 @@ The IPFS **Routing** layer serves two important purposes:
103103
- **peer routing** -- to find other nodes
104104
- **content routing** -- to find data published to ipfs
105105

106-
The Routing Sytem is an interface that is satisfied by various kinds of implementations. For example:
106+
The Routing System is an interface that is satisfied by various kinds of implementations. For example:
107107

108108
- **DHTs:** perhaps the most common, DHTs can be used to create a semi-persistent routing record distributed cache in the network.
109109
- **mdns:** used to find services advertised locally. `mdns` (or `dnssd`) is a local discovery service. We will be using it.
@@ -119,12 +119,12 @@ The IPFS **Block Exchange** takes care of negotiating bulk data transfers. Once
119119
The Block Exchange is an interface that is satisfied by various kinds of implementations. For example:
120120

121121
- **Bitswap:** our main protocol for exchanging data. It is a generalization
122-
of BitTorrent to work with arbitrary (and not known apriori) DAGs.
122+
of BitTorrent to work with arbitrary (and not known a priori) DAGs.
123123
- **HTTP:** a simple exchange can be implemented with HTTP clients and servers.
124124

125125
## 3.4. Merkledag -- making sense of data
126126

127-
[As discussed above](#IPFS-and-the-Merkle-DAG), the IPFS **merkledag** (also known as IPLD - InterPlanetary Linked Data) is the datastructure at the heart of IPFS. It is an [acyclic directed graph](http://en.wikipedia.org/wiki/Directed_acyclic_graph) whose edges are hashes. Another name for it is the merkleweb.
127+
[As discussed above](#IPFS-and-the-Merkle-DAG), the IPFS **merkledag** (also known as IPLD - InterPlanetary Linked Data) is the data structure at the heart of IPFS. It is an [acyclic directed graph](http://en.wikipedia.org/wiki/Directed_acyclic_graph) whose edges are hashes. Another name for it is the merkleweb.
128128

129129
The merkledag data structure is:
130130

@@ -141,7 +141,7 @@ message MDagNode {
141141
}
142142
```
143143

144-
The merkledag is the "thin waist" of authenticated datastructures. It is a minimal set of information needed to represent + transfer arbitrary authenticated datastructures. More complex datastructures are implemented on top of the merkledag, such as:
144+
The merkledag is the "thin waist" of authenticated data structures. It is a minimal set of information needed to represent + transfer arbitrary authenticated data structures. More complex data structures are implemented on top of the merkledag, such as:
145145

146146
- **git** and other version control systems
147147
- **bitcoin** and other blockchains
@@ -177,17 +177,17 @@ IPNS is based on [SFS](http://en.wikipedia.org/wiki/Self-certifying_File_System)
177177

178178
See more in the [IPNS spec](https://github.com/ipfs/specs/blob/master/IPNS.md).
179179

180-
# 4. Applications and Datastructures -- on top of IPFS
180+
# 4. Applications and Data Structures -- on top of IPFS
181181

182-
The stack described so far is enough to represent arbitrary datastructures and replicate them across the internet. It is also enough to build and deploy decentralized websites.
182+
The stack described so far is enough to represent arbitrary data structures and replicate them across the internet. It is also enough to build and deploy decentralized websites.
183183

184-
Applications and datastructures on top of IPFS are represented as merkledags. Users can create arbitrary datastructures that extend the merkledag and deploy them to the rest of the world using any of the tools that understand IPFS.
184+
Applications and data structures on top of IPFS are represented as merkledags. Users can create arbitrary data structures that extend the merkledag and deploy them to the rest of the world using any of the tools that understand IPFS.
185185

186-
See more in the [IPLD datastructures specs](https://github.com/ipld/specs/tree/master/data-structures).
186+
See more in the [IPLD data structures specs](https://github.com/ipld/specs/tree/master/data-structures).
187187

188188
## 4.1 unixfs -- representing traditional files
189189

190-
The unix filesystem abstractions -- files and directories -- are the main way people conceive of files in the internet. In IPFS, `unixfs` is a datastructure that represents unix files on top of IPFS. We need a separate datastructure to carry over information like:
190+
The unix filesystem abstractions -- files and directories -- are the main way people conceive of files in the internet. In IPFS, `unixfs` is a data structure that represents unix files on top of IPFS. We need a separate data structure to carry over information like:
191191

192192
- whether the object represents a file or directory.
193193
- total sizes, minus indexing overhead

IMPORTERS_EXPORTERS.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Lots of discussions around this topic, some of them here:
2828

2929
## Introduction
3030

31-
Importing data into IPFS can be done in a variety of ways. These are use-case specific, produce different datastructures, produce different graph topologies, and so on. These are not strictly needed in an IPFS implementation, but definitely make it more useful.
31+
Importing data into IPFS can be done in a variety of ways. These are use-case specific, produce different data structures, produce different graph topologies, and so on. These are not strictly needed in an IPFS implementation, but definitely make it more useful.
3232

3333
These data importing primitives are really just tools on top of IPLD, meaning that these can be generic and separate from IPFS itself.
3434

@@ -44,7 +44,7 @@ Essentially, data importing is divided into two parts:
4444
- fixed size chunking (also known as dumb chunking)
4545
- rabin fingerprinting
4646
- dedicated format chunking, these require knowledge of the format and typically only work with certain time of files (e.g. video, audio, images, etc)
47-
- special datastructures chunking, formats like, tar, pdf, doc, container and/org vm images fall into this category
47+
- special data structures chunking, formats like, tar, pdf, doc, container and/org vm images fall into this category
4848

4949
### Goals
5050

@@ -78,9 +78,9 @@ These are a set of requirements (or guidelines) of the expectations that need to
7878
```
7979

8080
- `chunkers or splitters` algorithms that read a stream and produce a series of chunks. for our purposes should be deterministic on the stream. divided into:
81-
- `universal chunkers` which work on any streams given to them. (eg size, rabin, etc). should work roughly equally well across inputs.
81+
- `universal chunkers` which work on any streams given to them. (e.g. size, rabin, etc). should work roughly equally well across inputs.
8282
- `specific chunkers` which work on specific types of files (tar splitter, mp4 splitter, etc). special purpose but super useful for big files and special types of data.
83-
- `layouts or topologies` graph topologies (eg balanced vs trickledag vs ext4, ... etc)
83+
- `layouts or topologies` graph topologies (e.g. balanced vs trickledag vs ext4, ... etc)
8484
- `importer` is a process that reads in some data (single file, set of files, archive, db, etc), and outputs a dag. may use many chunkers. may use many layouts.
8585

8686
## Interfaces

IPIP/0001-lightweight-improvement-proposal-process.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ Guiding principles:
103103
- Convention over Byzantine process
104104
- Proposing a new IPIP should have low cognitive overhead, allowing us to
105105
focus on specs
106-
- Reuse existing Github developer accounts and reputation attached to them
106+
- Reuse existing GitHub developer accounts and reputation attached to them
107107
- One should be able to create a valid IPIP without reading a long explainer
108108
like this one. Looking at past IPIPs, and then copying a template and
109109
opening a PR with the proposal should be more than enough.

IPIP_PROCESS.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ Proposals that were reviewed as useful, but rejected for now, will be moved into
7575
1. [Specs Stewards] will do an initial triage of newly opened PRs roughly monthly. They'll try to filter out
7676
noise, so that community consideration is given only to reasonable proposals; others they'll reject.
7777
2. Specs Stewards will post to the forums linking to the proposal; directing feedback/discussion to
78-
take place in Github on the PR
78+
take place in GitHub on the PR
7979
3. After a month of discussion, Specs Stewards will review again. If there are no substantive disagreements
8080
with the proposal, including within Spec Stewards, the proposal will be approved.
8181
4. If discussion or modification is still underway and appears to be leading to a resolution, it can be held
@@ -85,7 +85,7 @@ consideration at a monthly sync, to be announced at least a week ahead of time o
8585
6. After discussion, Spec Stewards will make call on whether to approve or reject the proposal.
8686
7. At this point approved proposals get assigned a number (encoded in the filename),
8787
and merged into the IPIP folder on `main` branch. Potentially useful (but rejected for now)
88-
proposals should be also merged to `main`, but in a subfolder called `/IPIP/deferred`. Proposals rejected in intial
88+
proposals should be also merged to `main`, but in a subfolder called `/IPIP/deferred`. Proposals rejected in initial
8989
triage will simply have the PR declined.
9090
8. IPIP author and two approving [Specs Stewards] are added to `CODEOWNERS` file to be
9191
automatically asked to review any future changes to files added or modified by the IPIP.

KEYSTORE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ does not linger in memory.
208208
- DagBuilderHelper needs to be able to encrypt blocks
209209
- Dag Nodes should be generated like normal, then encrypted, and their parents should
210210
link to the hash of the encrypted node
211-
- DagBuilderParams should have extra parameters to acommodate creating a DBH that encrypts the blocks
211+
- DagBuilderParams should have extra parameters to accommodate creating a DBH that encrypts the blocks
212212

213213
#### New 'Encrypt' package
214214

MERKLE_DAG.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
The _ipfs merkledag_ is a directed acyclic graph whose edges are merkle-links. This means that links to objects can authenticate the objects themselves, and that every object contains a secure representation of its children.
1414

15-
This is a powerful primitive for distributed systems computations. The merkledag simplifies distributed protocols by providing an append-only authenticated datastructure. Parties can communicate and exchange secure references (merkle-links) to objects. The references are enough to verify the correctness of the object at a later time, which allows the objects themselves to be served over untrusted channels. Merkledags also allow the branching of a datastructure and subsequent merging, as in the version control system git. More generally, merkledags simplify the construction of Secure [CRDTs](http://en.wikipedia.org/wiki/Conflict-free_replicated_data_type), which enable distributed, convergent, commutative computation in an authenticated, secure way.
15+
This is a powerful primitive for distributed systems computations. The merkledag simplifies distributed protocols by providing an append-only authenticated data structure. Parties can communicate and exchange secure references (merkle-links) to objects. The references are enough to verify the correctness of the object at a later time, which allows the objects themselves to be served over untrusted channels. Merkledags also allow the branching of a data structure and subsequent merging, as in the version control system git. More generally, merkledags simplify the construction of Secure [CRDTs](http://en.wikipedia.org/wiki/Conflict-free_replicated_data_type), which enable distributed, convergent, commutative computation in an authenticated, secure way.
1616

1717
## Table of Contents
1818

@@ -23,7 +23,7 @@ TODO
2323
- `hash` - throughout this document, the word `hash` refers specifically to cryptographic hash functions, such as sha3.
2424
- `dag` - directed acyclic graph
2525
- `merkle-link` - a link (graph edge) between two objects, which is (a) represented by the hash of the target object, and (b) embedded in the source object. merkle-links construct graphs (dags) whose links are content-addressed, and authenticated.
26-
- `merkledag` - the merkledag is a directed acyclic graph whose links are merkle-links (hashes of the content). It is a hash tree, and (under a very loose definition) a merkle tree. Alternative names: the merkle-web, the merkle-forest, the merkle-chain.
26+
- `merkledag` - the merkledag is a directed acyclic graph whose links are merkle-links (hashes of the content). It is a hash tree, and (under a very loose definition) a Merkle tree. Alternative names: the merkle-web, the merkle-forest, the merkle-chain.
2727
- `multihash` - the [multihash](https://github.com/jbenet/multihash) format / protocol.
2828
- `ipfs object` - a node in the ipfs merkledag. It represents a singular entity.
2929
- `merkledag format` - the format that ipfs objects are expressed with.
@@ -83,7 +83,7 @@ The logical representation is serialized into raw bytes using _protocol buffers_
8383
### Real World Examples
8484

8585
Many successful distributed systems employ specialized merkledags at their core:
86-
- merkle trees -- a special case of the merkle dag -- are a well known cryptographic technique used to authenticate large amounts of data. The original use case involved one-time lamport signatures.
86+
- Merkle trees -- a special case of the merkledag -- are a well known cryptographic technique used to authenticate large amounts of data. The original use case involved one-time lamport signatures.
8787
- SFS-RO turns a unix filesystem into a merkledag, constructing a secure, distributed filesystem.
8888
- git uses a merkledag to enable distributed version control and source code management. Other DVCSes, such as mercurial and monotone, also feature a merkledag.
8989
- plan9 uses a merkledag to construct its snapshotting filesystems -- Fossil and Venti.
@@ -106,7 +106,7 @@ This kind of modularity enables complicated and powerful applications to be buil
106106

107107
### Web of Data Structures
108108

109-
In a sense, IPFS is a "web of data-structures", with the merkledag as the common denominator. Agreeing upon a format allows linking different authenticated datastructures to each other, enabling sophisticated distributed applications to easily construct, distribute, and link their data.
109+
In a sense, IPFS is a "web of data-structures", with the merkledag as the common denominator. Agreeing upon a format allows linking different authenticated data structures to each other, enabling sophisticated distributed applications to easily construct, distribute, and link their data.
110110

111111
### Linked Data
112112

@@ -116,7 +116,7 @@ A powerful result of content (and identity) addressing is that linked data defin
116116

117117
## Merkledag Notation
118118

119-
To facilitate the definition of other data structures and protocols, we define a notation to express merkledag datastructures. This defines their logical representation, and also a format specification (when using the ipfs merkledag format).
119+
To facilitate the definition of other data structures and protocols, we define a notation to express merkledag data structures. This defines their logical representation, and also a format specification (when using the ipfs merkledag format).
120120

121121
#### ~~ WIP / TODO ~~
122122

REPO_FS.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ This spec defines `fs-repo` version `1`, its formats, and semantics.
4747
`./api` is a file that exists to denote an API endpoint to listen to.
4848
- It MAY exist even if the endpoint is no longer live (i.e. it is a _stale_ or left-over `./api` file).
4949

50-
In the presence of an `./api` file, ipfs tools (eg go-ipfs `ipfs daemon`) MUST attempt to delegate to the endpoint, and MAY remove the file if reasonably certain the file is stale. (e.g. endpoint is local, but no process is live)
50+
In the presence of an `./api` file, ipfs tools (e.g. go-ipfs `ipfs daemon`) MUST attempt to delegate to the endpoint, and MAY remove the file if reasonably certain the file is stale. (e.g. endpoint is local, but no process is live)
5151

5252
The `./api` file is used in conjunction with the `repo.lock`. Clients may opt to use the api service, or wait until the process holding `repo.lock` exits. The file's content is the api endpoint as a [multiaddr](https://github.com/jbenet/multiaddr)
5353

http-gateways/PATH_GATEWAY.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ specified content path.
9494
Downloads data at specified **immutable** content path.
9595

9696
- `cid` – a valid content identifier ([CID](https://docs.ipfs.io/concepts/glossary#cid))
97-
- `path` – optional path remainer pointing at a file or a directory under the `cid` content root
97+
- `path` – optional path parameter pointing at a file or a directory under the `cid` content root
9898
- `params` – optional query parameters that adjust response behavior
9999

100100
## `HEAD /ipfs/{cid}[/{path}][?{params}]`
@@ -350,7 +350,7 @@ value must be wrapped by double quotes as noted in [RFC7232#Etag](https://httpwg
350350

351351
In many cases it is not enough to base `Etag` value on requested CID.
352352

353-
To ensure `Etag` is unique enough to avoid issues with caching reverse provies
353+
To ensure `Etag` is unique enough to avoid issues with caching reverse proxies
354354
and CDNs, implementations should base it on both CID and response type:
355355

356356
- By default, etag should be based on requested CID. Example: `Etag: "bafy…foo"`

http-gateways/REDIRECTS_FILE.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ This can be used, for example, to enable URL rewriting for hosting a single-page
3434
- [No Forced Redirects](#no-forced-redirects)
3535
- [Error Handling](#error-handling)
3636
- [Security](#security)
37-
- [Appendix: notes for implementors](#appendix-notes-for-implementors)
37+
- [Appendix: notes for implementers](#appendix-notes-for-implementors)
3838
- [Test fixtures](#test-fixtures)
3939

4040
# File Name and Location
@@ -150,7 +150,7 @@ Parsing of the `_redirects` file should be done safely to prevent any sort of in
150150

151151
The [max file size](#max-file-size) helps to prevent an additional [denial of service attack](https://en.wikipedia.org/wiki/Denial-of-service_attack) vector.
152152

153-
# Appendix: notes for implementors
153+
# Appendix: notes for implementers
154154

155155
## Test fixtures
156156

http-gateways/SUBDOMAIN_GATEWAY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ Below MUST be implemented **in addition** to the [HTTP Response section from `PA
154154
### `Location` (response header)
155155

156156
Below MUST be implemented **in addition** to
157-
[`Location` reqirements defined in `PATH_GATEWAY.md`](./PATH_GATEWAY.md#location-response-header).
157+
[`Location` requirements defined in `PATH_GATEWAY.md`](./PATH_GATEWAY.md#location-response-header).
158158

159159
#### Use in interop with Path Gateway
160160

0 commit comments

Comments
 (0)