IPFS: Difference between revisions
imported>Mbledkowski No edit summary |
imported>Luflosi Change installation instructions to match the current state of the NixOS module |
||
Line 8: | Line 8: | ||
services.kubo = { | services.kubo = { | ||
enable = true; | enable = true; | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Note that after enabling this option and rebuilding your system, you need to log out and back in for the "IPFS_PATH" environment variable to be present in your shell. Until you do that, the CLI tools won't be able to talk to the daemon by default. | |||
== Usage == | == Usage == |
Revision as of 20:34, 17 December 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;
};
Note that after enabling this option and rebuilding your system, you need to log out and back in for the "IPFS_PATH" environment variable to be present in your shell. Until you do that, the CLI tools won't be able to talk to the daemon by default.
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