IPFS

From NixOS Wiki
Revision as of 16:21, 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