Skip to content

Commit a021e73

Browse files
authored
Merge pull request #241 from andrew/broken-links
docs: fix some broken links in architecture.md
2 parents 3816b05 + de04347 commit a021e73

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

ARCHITECTURE.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ IPFS has five layers:
8787

8888
These are briefly described bottom-up.
8989

90-
## [3.1 Network](network)
90+
## 3.1 Network
9191

9292
The **network** provides point-to-point transports (reliable and unreliable) between any two IPFS nodes in the network. It handles:
9393
- NAT traversal - hole punching, port mapping, and relay
@@ -97,7 +97,7 @@ The **network** provides point-to-point transports (reliable and unreliable) bet
9797

9898
See more in the [libp2p specs](https://github.com/libp2p/specs).
9999

100-
## [3.2 Routing -- finding peers and data](routing)
100+
## 3.2 Routing -- finding peers and data
101101

102102
The IPFS **Routing** layer serves two important purposes:
103103
- **peer routing** -- to find other nodes
@@ -112,7 +112,7 @@ The Routing Sytem is an interface that is satisfied by various kinds of implemen
112112

113113
See more in the [libp2p specs](https://github.com/libp2p/specs).
114114

115-
## [3.3 Block Exchange -- transfering content-addressed data](exchange)
115+
## 3.3 Block Exchange -- transfering content-addressed data
116116

117117
The IPFS **Block Exchange** takes care of negotiating bulk data transfers. Once nodes know each other -- and are connected -- the exchange protocols govern how the transfer of content-addressed blocks occurs.
118118

@@ -122,7 +122,7 @@ The Block Exchange is an interface that is satisfied by various kinds of impleme
122122
of BitTorrent to work with arbitrary (and not known apriori) DAGs.
123123
- **HTTP:** a simple exchange can be implemented with HTTP clients and servers.
124124

125-
## [3.4. Merkledag -- making sense of data](../merkledag)
125+
## 3.4. Merkledag -- making sense of data
126126

127127
[As discussed above](#IPFS-and-the-Merkle-DAG), the IPFS **merkledag** 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.
128128

@@ -149,7 +149,7 @@ The merkledag is the "thin waist" of authenticated datastructures. It is a minim
149149

150150
See more in the merkledag spec (TODO).
151151

152-
## [3.4.1 Merkledag Paths](../merkledag)
152+
## 3.4.1 Merkledag Paths
153153

154154
The merkledag is enough to resolve paths:
155155

@@ -163,9 +163,9 @@ The merkledag is enough to resolve paths:
163163

164164
See more in the path resolution spec (TODO).
165165

166-
![](../media/ipfs-resolve/ipfs-resolve.gif)
166+
![](img/ipfs-resolve/ipfs-resolve.gif)
167167

168-
## [3.5 Naming -- PKI namespace and mutable pointers]()
168+
## 3.5 Naming -- PKI namespace and mutable pointers
169169

170170
IPFS is mostly concerned with content-addressed data, which by nature is immutable: changing an object would change its hash -- and thus its address, making it a _different_ object altogether. (Think of it as a copy-on-write filesystem).
171171

@@ -177,15 +177,15 @@ IPNS is based on [SFS](http://en.wikipedia.org/wiki/Self-certifying_File_System)
177177

178178
See more in the namin spec (TODO).
179179

180-
# [4. Applications and Datastructures -- on top of IPFS]()
180+
# 4. Applications and Datastructures -- on top of IPFS
181181

182182
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.
183183

184184
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.
185185

186186
See more in the datastructures and applications specs (TODO).
187187

188-
## [4.1 unixfs -- representing traditional files]()
188+
## 4.1 unixfs -- representing traditional files
189189

190190
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:
191191

@@ -194,7 +194,7 @@ The unix filesystem abstractions -- files and directories -- are the main way pe
194194

195195
See more in the unixfs spec (TODO).
196196

197-
## [5 Lifetime of fetching an object.]()
197+
## 5. Lifetime of fetching an object.
198198

199199
Suppose we ask an IPFS node to retrieve
200200

@@ -212,13 +212,13 @@ Then, the IPFS node resolves the components.
212212
The first component in an `/ipfs/...` path is always a multihash.
213213
The rest are names of links, to be resolved into multihashes.
214214

215-
# [6 IPFS User Interfaces]()
215+
# 6. IPFS User Interfaces
216216

217217
IPFS is not just a protocol. It is also a toolset. IPFS implementations include various tools for working with the merkledag, how to publish something, how to name something, etc. These interfaces may be critical to the survival of an implementation, or the project as a whole. These interfaces govern how people use IPFS, thus careful attention must be given to their design and implementation. Examples:
218218

219-
- The [IPFS api](http://ipfs.io/docs/api) - an HTTP service
220-
- The [IPFS cli](http://ipfs.io/docs/commands/) - a unix cli
221-
- The [IPFS libs](https://github.com/ipfs/ipfs#api-client-libraries) - implementations in various languages
219+
- The [IPFS api](https://docs.ipfs.io/reference/api/http/) - an HTTP service
220+
- The [IPFS cli](https://docs.ipfs.io/reference/api/cli/) - a unix cli
221+
- The [IPFS libs](https://github.com/ipfs/ipfs#http-client-libraries) - implementations in various languages
222222
- The IPFS gateways - nodes in the internet that serve HTTP over IPFS
223223

224224
* * *

0 commit comments

Comments
 (0)