IPFS

From NixOS Wiki
Revision as of 16:33, 18 April 2023 by imported>Onny

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 kubo, which is the recommended IPFS client, in your current environment

# nix-env -iA nixos.kubo

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