The InterPlanetary File System (IPFS) is a peer-to-peer network protocol for storing and sharing data in a distributed file system, with addresses based on content, not location. In this course, we'll dive into the basics of cryptographic hashing and content addressing on the decentralized web, take a look at how Content Identifiers (CIDs) are constructed in IPFS, and get hands on with the js-ipfs API. Through JavaScript coding challenges, we'll learn to store and share files with peers, create links between Merkle DAGs, and explore the Mutable File System (MFS), which lets you work with content-addressed files and directories as if you were using a traditional named-based file system. As we go, we'll learn more about other protocol layers of the Web3 stack that work in parallel with IPFS, including Multiformats, IPLD, libp2p, and Filecoin.
ProtoSchool's self-guided interactive tutorials are designed to introduce you to decentralized web concepts, protocols, and tools. This course on IPFS includes both JavaScript code challenges and code-free tutorials with text-based lessons and multiple-choice quizzes. Our handy little icons will guide you to the content that fits your needs. We recommend proceeding through the tutorials in the order in which they're presented.