The IPFS Primer
This primer contains a series of tutorials explaining IPFS, Merkle Trees and the Decentralized Web. It's written and maintained as a gitbook so people can read it in many formats.
The GitHub repository for this book is at https://github.com/ipfs-shipyard/ipfs-primer.
Getting Help
During these tutorials, if you have any questions feel free to ask them in the IPFS forums or in the #ipfs channel on chat.freenode.net. We have a large, active community who use these venues as our main places to seek support and to provide it.
Tutorials
The primer contains tutorials about
- Downloading and Installing IPFS
- Files on IPFS
- Going Online - Joining the Distributed Web
- Interacting with the Classical (HTTP) Web
- The Myriad ways to Access and Distribute IPFS Content
- Making Changes on the Permanent Web
- Merkle Trees and the IPFS DAG
- Dynamic Content on IPFS
For a full list of tutorials, look at the Table of Contents.
Concepts
- Cryptographic Hashes and Content Addressability
- Authenticated Graphs
- Turning Files into Trees
- Turning any Data into Trees
- Publishing hashes on the DHT
- Getting data from the Peer to Peer Network
- Immutability: "Changes" as additions to the tree
- CRDTs
- Pubsub
- Authenticated Streams (with pubsub)
Format
Each tutorial is a set of lessons that all use a format inspired by the Railsbridge Curriculum. Each lesson declares a set of Goals, or learning objectives, then lists the Steps, or activities, and finally provides an Explanation that reviews what you've done and connects those activities to the lesson's stated Goals. The format for each lesson looks like this:
Note for Contributors
For a concise explanation of Learning Objectives (which we're calling Goals in this book), read UC Denver's Assessment & Instructional Alignment Tutorial. Try to make your learning objectives Specific, observable and measurable and heed their tip to use the list of verbs in the taxonomy table worksheet to help you choose observable behaviors for your course learning objectives.
To build the HTML, PDF, epub and mobi versions of the book with one command, run ./build-book.sh
Contributors
This primer was created by @flyingzumwalt. The contents of these tutorials were initially pulled from documentation in the first-generation documentation homed on the IPFS website and the (now-inactive) IPFS examples git repository. (Find them in their new homes on docs.ipfs.io, particularly the "Usage ideas and examples" section.)
Contributors to those original docs included
- @whyrusleeping
- @jbenet
- @lgierth
- @lynnandtonic
- @wraithgar
- @adambrault
- @donothesitate
- @djdv plus a long list of contributors to the original examples repository