Skip to content

Feat add corecourses #13

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Nov 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions docs/essentials/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ title: Essentials

New to IPFS or the distributed web? Here's where to get started on understanding the key ingredients in what makes IPFS work. Because IPFS is a system that hopes to change how we use the Internet, it comes with many new concepts! This section aims to get you up to speed quickly.

## Video overviews

Want the basics, in theater mode? Check out these Core Courses from IPFS Camp 2019 for an overview of how IPFS works with files and the overall data lifecycle in dweb.

@[youtube](fLUq0RkiTBA)

@[youtube](Z5zNPwMDYGg)

## IPFS in a nutshell

Get the basic concepts of IPFS in one place, including:
Expand Down
2 changes: 2 additions & 0 deletions docs/essentials/bitswap.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ sidebarDepth: 0
# Bitswap

## This content is still preparing for liftoff.

In the meantime, check out [this video from IPFS Camp 2019](https://www.youtube.com/watch?v=fLUq0RkiTBA) on how Bitswap fits into the overall lifecycle of data in IPFS!
4 changes: 4 additions & 0 deletions docs/essentials/content-addressing.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ title: Content addressing

# Content addressing and CIDs

::: tip
If you're interested in how content addressing fits into how IPFS works with files in general, check out this video from IPFS Camp 2019! [Core Course: How IPFS Deals With Files](https://www.youtube.com/watch?v=Z5zNPwMDYGg)
:::

A _content identifier_, or CID, is a label used to point to material in IPFS. It doesn't indicate _where_ the content is stored, but it forms a kind of address based on the content itself. CIDs are short, regardless of the size of their underlying content.

CIDs are based on the content’s [cryptographic hash](/essentials/hashing/). That means:
Expand Down
4 changes: 4 additions & 0 deletions docs/essentials/dht.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ title: Distributed Hash Tables (DHTs)

# Distributed Hash Tables (DHTs)

::: tip
If you're interested in how DHTs fit into the overall lifecycle of data in IPFS, check out this video from IPFS Camp 2019! [Core Course: The Lifecycle of Data in Dweb](https://www.youtube.com/watch?v=fLUq0RkiTBA)
:::

## What is a DHT?

[Distributed Hash Tables](https://en.wikipedia.org/wiki/Distributed_hash_table) (DHTs) are distributed key-value stores where keys are [cryptographic hashes](/essentials/hashing).
Expand Down
4 changes: 4 additions & 0 deletions docs/essentials/file-systems.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ Working with files in IPFS can be a little different than you're used to for sev

MFS and UnixFS can help you address these new ways of thinking of files.

::: tip
If you're interested in how MFS and UnixFS play into how IPFS works with files in general, check out this video from IPFS Camp 2019! [Core Course: How IPFS Deals With Files](https://www.youtube.com/watch?v=Z5zNPwMDYGg)
:::

## Mutable File System (MFS)

Because files in IPFS are content-addressed and immutable, they can be complicated to edit. Mutable File System (MFS) is a tool built into IPFS that lets you treat files like you would a normal name-based filesystem — you can add, remove, move, and edit MFS files and have all the work of updating links and hashes taken care of for you.
Expand Down
4 changes: 4 additions & 0 deletions docs/essentials/hashing.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ title: Hashing

# Cryptographic hashing

::: tip
If you're interested in how cryptographic hashes fit into how IPFS works with files in general, check out this video from IPFS Camp 2019! [Core Course: How IPFS Deals With Files](https://www.youtube.com/watch?v=Z5zNPwMDYGg)
:::

Cryptographic hashes are functions that take some arbitrary input and return a fixed-length value. The particular value depends on the given hash algorithm in use, such as [SHA-1](https://en.wikipedia.org/wiki/SHA-1) (used by git), [SHA-256](https://en.wikipedia.org/wiki/SHA-2), or [BLAKE2](<https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2>), but a given hash algorithm always returns the same value for a given input. Have a look at Wikipedia's [full list of hash functions](https://en.wikipedia.org/wiki/List_of_hash_functions) for more.

As an example, the input:
Expand Down
4 changes: 4 additions & 0 deletions docs/essentials/how-ipfs-works.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ title: How IPFS works

# How IPFS works

::: tip
Want to see a video recap of how IPFS works with files in general? Check out this content from IPFS Camp 2019! [Core Course: How IPFS Deals With Files](https://www.youtube.com/watch?v=Z5zNPwMDYGg)
:::

IPFS is a peer-to-peer (p2p) storage network. Content is accessible through peers that might relay information or store it (or do both), and those peers can be located anywhere in the world. IPFS knows how to find what you ask for by its content address, rather than where it is.

There are **three key principles** to understanding IPFS:
Expand Down
2 changes: 2 additions & 0 deletions docs/essentials/immutability.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ sidebarDepth: 0
# Immutability

## This content is still preparing for liftoff.

In the meantime, check out [this video from IPFS Camp 2019](https://www.youtube.com/watch?v=Z5zNPwMDYGg) on why immutability is important to how IPFS deals with files.
4 changes: 4 additions & 0 deletions docs/essentials/merkle-dag.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ title: Merkle DAGs

# Merkle Distributed Acyclic Graphs (DAGs)

::: tip
If you're interested in how Merkle DAGs fit into how IPFS works with files in general, check out this video from IPFS Camp 2019! [Core Course: How IPFS Deals With Files](https://www.youtube.com/watch?v=Z5zNPwMDYGg)
:::

A _Direct Acyclic Graph_ (DAG) is a type of graph in which edges have direction and cycles are not allowed. For example, a linked list like _A→B→C_ is an instance of a DAG where _A_ references _B_ and so on. We say that _B_ is _a child_ or _a descendant of A_, and that _node A has a link to B_. Conversely _A_ is a _parent of B_. We call nodes that are not children to any other node in the DAG _root nodes_.

## Merkle DAGs in brief
Expand Down
4 changes: 4 additions & 0 deletions docs/essentials/persistence.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ title: Persistence

# Persistence, permanence and pinning

::: tip
If you're interested in how pinning files fits into the overall lifecycle of data in IPFS, check out this video from IPFS Camp 2019! [Core Course: The Lifecycle of Data in Dweb](https://www.youtube.com/watch?v=fLUq0RkiTBA)
:::

IPFS nodes treat the data they store like a cache, meaning that there is no guarantee that the data will continue to be stored. "Pinning" a CID tells an IPFS server that the data is important and mustn't be thrown away.

You should pin any content you consider important in order to ensure that content is retained over the long term. Since data important to someone else may not be important to you, pinning enables you to have control over the disk space and data retention you need.
Expand Down