Tutorial: Files on IPFS

These Lessons are tested with go-ipfs versions: 0.5.0, 0.9.0
Please update this file on github to reflect any other versions that have been tested.


  • You should have some familiarity with the command line.
  • You should have ipfs installed - the previous tutorial has instructions for that

Learning Objectives

These Lessons will teach you how to
  • Add files to your local IPFS node
  • Read files out of your local IPFS node
  • List the files in your IPFS node
  • Tell IPFS to hold onto files by pinning them

Key Concepts

  • Distinction between IPFS and your regular Filesystem
  • Identifying files by their Hashes
  • IPFS Garbage Collection
  • Pinning files on an IPFS Node


Next Steps

Once you know how to add files to IPFS and retrieve them, you will be ready to share those files on the P2P network following the Tutorial: Going Online - Joining the Distributed Web
If you're wondering how to update those files after you've shared them, see the Tutorial: Publishing Changes on the Permanent Web
If you want to see how to access those files from the conventional HTTP web, go to the Tutorial: Interacting with the Classical (HTTP) Web
If you want to know more about how IPFS stores this content internally using Merkle DAGs, go to the Tutorial: Merkle Trees and the IPFS DAG