IPFS
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 |
Example
The following command (provides access to XKCD 927's alt-text via the XKCD Archives.
./ipfs cat QmfNvocxez2nEChH95BQCLhJLciy5dmwbGW4NofTUvNvgu
.
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.
Reference implementation
kubo 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".