IPFS

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Links)
(Add walkthrough)
 
(3 intermediate revisions by one user not shown)
Line 3: Line 3:
 
|subcat=Filesystem
 
|subcat=Filesystem
 
}}
 
}}
'''IPFS''' (InterPlanetary File System) is a peer-to-peer distributed filesystem. Some of its proponents think it ought to replace HTTP completely, but that would require a much more user-friendly method of accessing it than installing a program and then entering command lines like <code>ipfs cat /ipfs/QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT/readme</code>.
+
'''IPFS''' (InterPlanetary File System) is a peer-to-peer distributed file system. It is accessible via the command-line, and programming interfaces. Data is mirrored by peers and data shared via a content identifier (CID). The CID creates a global namespace for accessing information.
 +
 
 +
== Example ==
 +
 
 +
The following command (provides access to XKCD 927's alt-text via the [https://explore.ipld.io/#/explore/QmdmQXB2mzChmMeKY47C43LxUdg1NDJ5MWcKMKxDu7RgQm XKCD Archives].
 +
 
 +
<code>
 +
./ipfs cat QmfNvocxez2nEChH95BQCLhJLciy5dmwbGW4NofTUvNvgu
 +
</code>.
 +
 
 +
== IPLD ==
 +
 
 +
Given IPFS treats all objects (even binary objects for the most part) as data, it is possible to use
 +
its primitives to created Interplanetary Linked Data (IPLD). This is a fairly nuanced approach to linking data, and is largely being repackaged as [https://dasl.ing/ DASL].
 +
 
 +
== Reference implementation ==
 +
 
 +
<code>kubo</code> provides a reference implementation that allows you to access IPFS locally.
 +
 
 +
== Pinning ==
 +
 
 +
Pinning is analogous to persistence of the files you have provided on IPFS.
 +
Pinning is done by default on local nodes and content is cached temporarily on remote
 +
nodes that the data has passed through e.g. if accessed by someone.
 +
 
 +
Garbage collection will sweep up all non-pinned CIDs and so it is important to keep your
 +
node running and well maintained. Alternatively, you have to stand-up or make use of a third
 +
party pinning service which have the resources to pin your content "indefinitely".
 +
 
 +
== Usage ==
 +
 
 +
* [https://ross-spencer.github.io/learn-ipfs/ A walkthrough of basic IPFS concepts].
 +
 
 +
== References ==
  
== Links ==
 
 
* [https://ipfs.io/ Official site]
 
* [https://ipfs.io/ Official site]
 +
* [https://github.com/ipfs/kubo kubo]
 +
* [https://ipld.io/ IPLD Official site]
 +
* [https://dasl.ing/ DASL]
 +
* [https://docs.ipfs.tech/how-to/pin-files/ official docs on pinning]
 +
* [https://docs.pinata.cloud/ipfs-101/what-is-ipfs-pinning Pinata docs on pinning]
 +
 +
== Informative References ==
 +
 
* [https://ipfs.io/ipfs/QmNhFJjGcMPqpuYfxL62VVB9528NXqDNMFXiqN5bgFYiZ1/its-time-for-the-permanent-web.html HTTP is obsolete. It's time for the distributed, permanent web]
 
* [https://ipfs.io/ipfs/QmNhFJjGcMPqpuYfxL62VVB9528NXqDNMFXiqN5bgFYiZ1/its-time-for-the-permanent-web.html HTTP is obsolete. It's time for the distributed, permanent web]
 
* [https://spectrum.ieee.org/peer-to-peer-network Why the Internet needs the Interplanetary File System]
 
* [https://spectrum.ieee.org/peer-to-peer-network Why the Internet needs the Interplanetary File System]

Latest revision as of 12:47, 20 February 2026

File Format
Name IPFS
Ontology

IPFS (InterPlanetary File System) is a peer-to-peer distributed file system. It is accessible via the command-line, and programming interfaces. Data is mirrored by peers and data shared via a content identifier (CID). The CID creates a global namespace for accessing information.

Contents

[edit] Example

The following command (provides access to XKCD 927's alt-text via the XKCD Archives.

./ipfs cat QmfNvocxez2nEChH95BQCLhJLciy5dmwbGW4NofTUvNvgu .

[edit] IPLD

Given IPFS treats all objects (even binary objects for the most part) as data, it is possible to use its primitives to created Interplanetary Linked Data (IPLD). This is a fairly nuanced approach to linking data, and is largely being repackaged as DASL.

[edit] Reference implementation

kubo provides a reference implementation that allows you to access IPFS locally.

[edit] Pinning

Pinning is analogous to persistence of the files you have provided on IPFS. Pinning is done by default on local nodes and content is cached temporarily on remote nodes that the data has passed through e.g. if accessed by someone.

Garbage collection will sweep up all non-pinned CIDs and so it is important to keep your node running and well maintained. Alternatively, you have to stand-up or make use of a third party pinning service which have the resources to pin your content "indefinitely".

[edit] Usage

[edit] References

[edit] Informative References

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox