IPFS: Difference between revisions

From NixOS Wiki
imported>Onny
m Onny moved page Ipfs to IPFS: Corresponds to the application naming convention
imported>Onny
mNo edit summary
Line 3: Line 3:
== Installation ==
== Installation ==


Install ''kubo'', which is the recommended IPFS client, in your current environment
Install and enable ''kubo'', which is the recommended IPFS implementation


<syntaxhighlight lang="console">
<syntaxhighlight lang="nix">
# nix-env -iA nixos.kubo
services.kubo.enable = true;
</syntaxhighlight>
</syntaxhighlight>



Revision as of 17:37, 18 April 2023

IPFS (InterPlanetary File System) is a protocol, hypermedia and file sharing peer-to-peer network for storing and sharing data in a distributed file system. IPFS aims to make the web more efficient, resilient, and open by using content-addressing to uniquely identify each file in a global namespace. IPFS also enables persistent availability of data with or without internet backbone connectivity, and complements HTTP.

Installation

Install and enable kubo, which is the recommended IPFS implementation

services.kubo.enable = true;

Usage

Publish a file and read it afterwards

# echo "hello world" > hello
# ipfs add hello
This should output a hash string that looks something like:
QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o
# ipfs cat <that hash>

Download a file given a hash

# ipfs get <hash>

Publish and print directory content. For the ls command, use the hash of the root directory.

# ipfs add -r folder
# ipfs ls <hash>
# ipfs ls <hash>/subdirectory