Skip to content

Commit 4bb097d

Browse files
feat: add IPLD terms to the IPFS glossary (#883)
* feat: add IPLD terms to the glossary * Apply suggestions from code review Co-authored-by: Johnny <[email protected]>
1 parent fe4e01f commit 4bb097d

File tree

1 file changed

+49
-8
lines changed

1 file changed

+49
-8
lines changed

docs/concepts/glossary.md

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ related:
1818

1919
Announcing is a function of the IPFS networking layer in [libp2p](#libp2p), wherein a peer can tell other peers that it has data blocks available.
2020

21+
### ADL
22+
23+
ADL is short for _Advanced Data Layout_, a concept in [IPLD](#ipld). See [IPLD docs](https://ipld.io/glossary/#adl).
24+
2125
## B
2226

2327
### Bitswap
@@ -34,9 +38,9 @@ A Blockchain is a growing list of records, known as blocks, that are linked usin
3438

3539
### Block
3640

37-
A Block is a binary blob of data, identified by a [CID](#cid).
41+
A Block is a binary blob of data identified by a [CID](#cid). It could be raw bytes of arbitrary data or a chunk of serialized binary data encoded with [IPLD](#ipld) [codec](#codec).
3842

39-
### Bootstrap Node
43+
### Bootstrap node
4044

4145
A Bootstrap Node is a trusted peer on the IPFS network through which an IPFS node learns about other peers on the network. [More about Bootstrapping](../how-to/modify-bootstrap-list.md)
4246

@@ -58,6 +62,14 @@ Version 0 (v0) of the IPFS content identifier. This CID is 46 characters in leng
5862

5963
Version 1 (v1) of the IPFS content identifier. This CID version contains some leading identifiers which provide for forward-compatibility. Able to support different formats for future versions of CID. [More about CID v1](../concepts/content-addressing.md#version-1-v1)
6064

65+
### Codec
66+
67+
A function that encodes or decodes serial data into and from some data model. In IPFS, we use an agreed-upon codec table implemented as part of [Multicodec](#multicodec).
68+
69+
### Content addressing
70+
71+
A way to store information so a device can retrieve the data based on its content, not its location. [Learn how IPFS uses content addressing](/concepts/how-ipfs-works/#content-addressing).
72+
6173
### CRDT
6274

6375
A Conflict-Free Replicated Data Type (CRDT) is a type of specially-designed data structure used to achieve strong eventual consistency (SEC) and monotonicity (absence of rollbacks). [More about CRDT](https://github.com/ipfs/research-CRDT)
@@ -70,23 +82,32 @@ A Daemon is a computer program that typically runs in the background. The IPFS d
7082

7183
### DAG
7284

73-
A Directed Acyclic Graph (DAG) is a computer science data structure adapted for use with versioned file systems, blockchains, and for modeling many different kinds of information. [More about DAG](https://en.wikipedia.org/wiki/Directed_acyclic_graph)
85+
A Directed Acyclic Graph (DAG) is a computer science data structure adapted for use with versioned file systems, blockchains, and for modeling many different kinds of information. [IPLD](#ipld) data in IPFS is naturally a DAG. [More about DAG on Wikipedia](https://en.wikipedia.org/wiki/Directed_acyclic_graph).
86+
87+
88+
### Data model
89+
90+
Did you mean [IPLD Data Model](https://ipld.io/glossary/#data-model)?
7491

7592
### DataStore
7693

7794
The Datastore is the on-disk storage system used by an IPFS node. Configuration parameters control the location, size, construction, and operation of the datastore. [More about Datastore](https://github.com/ipfs/go-ipfs/blob/master/docs/config.md#datastore)
7895

7996
### DHT
8097

81-
A Distributed Hash Table (DHT) is a distributed key-value store where keys are cryptographic hashes. In IPFS, each peer is responsible for a subset of the IPFS DHT. [More about DHT](dht.md)
98+
A _Distributed Hash Table_ (DHT) is a distributed key-value store where keys are cryptographic hashes. In IPFS, each peer is responsible for a subset of the IPFS DHT. [More about DHT](dht.md)
99+
100+
### DMT
101+
102+
Short for _Data Model Tree_, a term coined by the IPLD team. [More about DMT in IPLD docs](https://ipld.io/glossary/#dmt)
82103

83104
### Dialing
84105

85106
Dialing is a function of the IPFS networking layer in [libp2p](#libp2p), wherein a connection is opened to another peer. Together, an implementation of dialing and [listening](#listening) forms a [transport](#transport).
86107

87108
### DNSLink
88109

89-
DNSLink is a protocol to link content and services directly from DNS. A DNSLink address looks like an IPNS address, but it uses a domain name in place of a hashed public key, like /ipns/mydomain.org. [More about DNSLink](https://dnslink.io/)
110+
DNSLink is a protocol to link content and services directly from DNS. A DNSLink address looks like an IPNS address, but it uses a domain name instead of a hashed public key, like `/ipns/en.wikipedia-on-ipfs.org`. [More about DNSLink](https://dnslink.dev/)
90111

91112
### DWeb
92113

@@ -160,6 +181,10 @@ The libp2p project is a modular system of protocols, specifications, and librari
160181

161182
Listening is a function of the IPFS networking layer in libp2p, wherein an incoming connection is accepted from another peer. Together, an implementation of [dialing](#dialing) and listening forms a [transport](#transport).
162183

184+
### Link
185+
186+
In IPFS and [IPLD](#ipld), a _link_ usually means a pointer to some [CID](#cid).
187+
163188
## M
164189

165190
### Merkle-DAG
@@ -184,7 +209,7 @@ Multibase is a protocol for disambiguating the encoding of base-encoded (e.g. ba
184209

185210
### Multicodec
186211

187-
Multicodec is an identifier indicating the format of the target content. It helps people and software know how to interpret that content after the content is fetched. In IPFS, it is backed by an agreed-upon codec table. It is designed for use in binary representations, such as keys or identifiers (i.e [CIDv1](#cid)). [More about Multicodec](https://github.com/multiformats/multicodec#readme)
212+
Multicodec is an identifier indicating the format of the target content. It helps people and software know how to interpret that content after it has been fetched. In IPFS, it is backed by an agreed-upon [codec](#codec) table. Multicodecs are designed for use in binary representations, such as keys or identifiers (i.e. [CIDv1](#cid)). [More about Multicodec](https://github.com/multiformats/multicodec#readme)
188213

189214
### Multihash
190215

@@ -198,11 +223,11 @@ The Multiformats project is a collection of protocols that aim to future-proof s
198223

199224
### Node
200225

201-
A Node or [peer](#peer) is the IPFS program that you run on your local computer to store/cache files and then connect to the IPFS network (by running the [daemon](#daemon)). [More about Node](../how-to/command-line-quick-start.md#take-your-node-online)
226+
In IPFS, a node or [peer](#peer) is the IPFS program that you run on your local computer to store files and then connect to the IPFS network. [More about IPFS Node](../how-to/command-line-quick-start.md#take-your-node-online).
202227

203228
### Node (in graphs)
204229

205-
A node, in the context of [graphs](#graph), is a point that may be linked to by other nodes using edges or links.
230+
In an IPLD [graph](#graph) context, a node is a point that may be linked to by other nodes using edges or links.
206231

207232
For example, in a family tree each person is a _node_, while each branch connecting one person to another is an _edge_.
208233

@@ -266,6 +291,14 @@ B C D
266291

267292
## S
268293

294+
### Schemas
295+
296+
In IPFS, IPLD Schemas are a system for describing data with structural types. [More about IPLD Schemas](https://ipld.io/glossary/#schemas)
297+
298+
### Selectors
299+
300+
IPLD selectors are a form of graph query over IPLD data. They can also be thought of as a way to specify a [traversal](#traversal). [More about IPLD Selectors](https://ipld.io/glossary/#selectors)
301+
269302
### SFS
270303

271304
A Self-certifying File System (SFS) is a distributed file system that doesn't require special permissions for data exchange. It is self-certifying because data served to a client is authenticated by the file name (which is signed by the server). [More about SFS](https://en.wikipedia.org/wiki/Self-certifying_File_System)
@@ -274,6 +307,10 @@ A Self-certifying File System (SFS) is a distributed file system that doesn't re
274307

275308
The signing of data cryptographically allows for trusting of data from untrusted sources. Cryptographically signed values can be passed through an untrusted channel, and any tampering of the data can be detected. [More about Digital signature](https://en.wikipedia.org/wiki/Digital_signature)
276309

310+
### Substrate
311+
312+
A vocabulary term in [IPLD](#ipld), related to [ADLs](#adl). [More in IPLD glossary](https://ipld.io/glossary/#substrate)
313+
277314
### Swarm
278315

279316
The Swarm is a term for the network of IPFS peers with which your local node has connections. Swarm addresses are addresses that your local node will listen on for connections from other IPFS peers. [More about Swarm addresses](../how-to/configure-node.md#addresses)
@@ -284,6 +321,10 @@ The Swarm is a term for the network of IPFS peers with which your local node has
284321

285322
In [libp2p](#libp2p), transport refers to the technology that lets us move data from one machine to another. This may be a TCP network, a WebSocket connection in a browser, or anything else capable of implementing the transport interface.
286323

324+
### Traversal
325+
326+
In [IPLD](#ipld), the act of walking across the [Data Model](#data-model). [More in IPLD glossary](https://ipld.io/glossary/#substrate)
327+
287328
## U
288329

289330
### UnixFS

0 commit comments

Comments
 (0)