You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/concepts/faq.md
+17-2Lines changed: 17 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,9 +7,10 @@ description: Explore frequently asked questions about IPFS, the InterPlanetary F
7
7
8
8
## What is IPFS?
9
9
10
-
IPFS stands for the InterPlanetary File System — a peer-to-peer network for storing and accessing files, websites, applications, and data in a distributed file system.
10
+
The InterPlanetary File System (IPFS) is a set of composable, peer-to-peer protocols for addressing, routing, and transferring [content-addressed](../concepts/glossary.md#content-addressing)data in a decentralized file system. Many popular Web3 projects are built on IPFS - see the [ecosystem directory](https://ecosystem.ipfs.tech) for a list of some of these projects.
11
11
12
-
To learn more, see the ["What is IPFS?"](what-is-ipfs.md) guide.
@@ -34,6 +35,20 @@ When you add a file to IPFS, IPFS splits it into smaller blocks. IPFS hashes eac
34
35
35
36
There are a lot of ways you can contribute to IPFS, whether you're interested in helping with either of the core implementations, applications like IPFS Desktop, writing or editing documentation, doing UX, or whatever you enjoy working on. [Get all the details on where to get started here.](../community/contribute/ways-to-contribute.md)
36
37
38
+
### What is an implementation
39
+
40
+
An IPFS implementation is any software with basic functionality for interaction with other IPFS implementations. An implementation:
41
+
42
+
- Supports addressability using CIDs.
43
+
44
+
- Exposes operations like retrieval, provisioning and indexing on resources using CIDs. The operations that an implementation may support are open-ended, but this requirement should cover any interaction which the implementation exposes to other IPFS implementations.
45
+
46
+
- Verifies that the CIDs it resolves match the resources they address, at least when it has access to the resources bytes. However, implementations may relax this requirement in controlled environments in which it is possible to ascertain that verification has happened elsewhere in a trusted part of the system.
47
+
48
+
There are already many IPFS implementations, including [Kubo](../install/command-line.md), [Helia](../install/js-ipfs.md), and [more](../concepts/ipfs-implementations.md).
49
+
50
+
You can also create your own IPFS implementation.
51
+
37
52
## IPFS and Filecoin
38
53
39
54
### What is the connection between IPFS and Filecoin?
When you add a _file_ to IPFS, it might be too big to fit in a single block, so it needs metadata to link all its blocks together. UnixFS is a [protocol-buffers](https://developers.google.com/protocol-buffers/)-based format for describing files, directories, and symlinks in IPFS. This data format is used to represent files and all their links and metadata in IPFS. UnixFS creates a block (or a tree of blocks) of linked objects.
221
221
222
-
UnixFS currently has [Javascript](https://github.com/ipfs/js-ipfs-unixfs) and [Go](https://github.com/ipfs/kubo/tree/b3faaad1310bcc32dc3dd24e1919e9edf51edba8/unixfs) implementations. These implementations have modules written in to run different functions:
222
+
UnixFS currently has [Javascript](https://github.com/ipfs/helia-unixfs) and [Go](https://github.com/ipfs/kubo/tree/b3faaad1310bcc32dc3dd24e1919e9edf51edba8/unixfs) implementations. These implementations have modules written in to run different functions:
223
223
224
224
-**Data Formats**: manage the serialization/deserialization of UnixFS objects to protocol buffers
Copy file name to clipboardExpand all lines: docs/concepts/glossary.md
+7-3Lines changed: 7 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -228,6 +228,10 @@ The sharding technique used for [sharding](#sharding) big UnixFS directories. It
228
228
229
229
A Cryptographic Hash is a function that takes some arbitrary input (content) and returns a fixed-length value. The exact same input data will always generate the same hash as output. There are numerous hash algorithms. [More about Hash](hashing.md)
230
230
231
+
### Helia
232
+
233
+
A lean, modular, and modern implementation of IPFS for the JS and browser environments. Superseded [js-ipfs](#js-ipfs). Learn more at [https://github.com/ipfs/helia](https://github.com/ipfs/helia).
234
+
231
235
### Hole punching
232
236
233
237
A technique for [NAT](#nat) or firewall traversal that relies on coordinated simultaneous connections. Used when port forwarding is not possible. [See DCUtR](#dcutr)
@@ -250,7 +254,7 @@ The InterPlanetary Name System (IPNS) is a system for creating and updating muta
250
254
251
255
### JS-IPFS
252
256
253
-
An implementation of IPFS written entirely in JavaScript. It runs in a Browser, a Service Worker, Electron and Node.js. See [Nodes > JS-IPFS](../concepts/nodes.md#js-ipfs)
257
+
An [implementation of IPFS written entirely in JavaScript](https://github.com/ipfs/js-ipfs). It runs in a browser, a service worker, Electron and Node.js. Deprecated and superseded by [Helia](#helia).
254
258
255
259
### JSON
256
260
@@ -316,11 +320,11 @@ Multicodec is an identifier indicating the format of the target content. It help
316
320
317
321
### Multihash
318
322
319
-
Multihash is a protocol for differentiating outputs from various well-established hash functions, addressing size and encoding considerations. It is useful to write applications that future-proof their use of hashes, and it allows multiple hash functions to coexist. [More about Multihash](https://multiformats.io/multihash/).
323
+
Multihash is a protocol for differentiating outputs from various well-established hash functions, addressing size and encoding considerations. It is useful to write applications that future-proof their use of hashes, and it allows multiple hash functions to coexist. [More about Multihash](https://github.com/multiformats/multihash).
320
324
321
325
### Multiformats
322
326
323
-
The Multiformats project is a collection of protocols that aim to future-proof systems today. A key element is enhancing format values with self-description. This allows for interoperability, protocol agility, and promotes extensibility. [More about Multiformats](https://multiformats.io/) and [Multihash](https://multiformats.io/multihash/)
327
+
The Multiformats project is a collection of protocols that aim to future-proof systems today. A key element is enhancing format values with self-description. This allows for interoperability, protocol agility, and promotes extensibility. [More about Multiformats](https://multiformats.io/) and [Multihash](https://github.com/multiformats/multihash)
Copy file name to clipboardExpand all lines: docs/concepts/ipns.md
+1-5Lines changed: 1 addition & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -117,7 +117,7 @@ The main implication of this difference is that IPNS operations (publishing and
117
117
118
118
#### IPNS over the DHT
119
119
120
-
The DHT is the default transport mechanism for IPNS records in most IPFS implementations, e.g. Kubo, and js-ipfs.
120
+
The DHT is the default transport mechanism for IPNS records in many IPFS implementations.
121
121
122
122
Due to the ephemeral nature of the DHT, peers forget records after 24 hours. This applies to any record in the DHT, irrespective of the `validity` (also referred to as `lifetime`) field in the IPNS record.
123
123
@@ -191,10 +191,6 @@ IPNS names can be resolved by [IPFS gateways](ipfs-gateway.md) in a _trusted_ fa
> **Note** IPNS resolution via an IPFS gateway is **trusted** (in the sense of trusting the gateway) which means you delegate IPNS resolution to the gateway without any means to verify the authenticity response you get, i.e the content path and signature of the IPNS record.
0 commit comments