IPFS

From NixOS Wiki
Revision as of 16:25, 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 to build a better web for all of us. IPFS can be used by anyone who wants to store and provide files, or by developers who want to create applications using IPFS technology.

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