/ipfs-primer

A primer explaining IPFS and the Decentralized Web, viewable as a website, pdf or e-book

Primary LanguageCSS

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

  1. Downloading and Installing IPFS
  2. Files on IPFS
  3. Going Online - Joining the Distributed Web
  4. Interacting with the Classical (HTTP) Web
  5. The Myriad ways to Access and Distribute IPFS Content
  6. Making Changes on the Permanent Web
  7. Merkle Trees and the IPFS DAG
  8. 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:

Sample of Railsbridge Lesson format

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 ipfs website and ipfs examples git repositories.

Contributors to those original docs included