Skip to content
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

feat: add mermaid diagram support #1282

Merged
merged 1 commit into from Sep 19, 2022
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/.vuepress/config.js
Expand Up @@ -442,6 +442,7 @@ module.exports = {
],
'vuepress-plugin-chunkload-redirect',
'vuepress-plugin-ipfs',
'vuepress-plugin-mermaidjs',
'tabs'
],
extraWatchFiles: ['.vuepress/nav/en.js']
Expand Down
24 changes: 24 additions & 0 deletions docs/concepts/ipns.md
Expand Up @@ -52,6 +52,12 @@ IPNS record can point at an immutable or a mutable path. The meaning behind CID

The following is a useful mental model for understanding the difference between the two:

```mermaid
graph LR;
IPNS-- mutable pointer -->IPFS;
IPFS-- immutable pointer -->content;
```

```
IPFS = immutable *Pointer => content
IPNS = **Pointer => content
Expand Down Expand Up @@ -79,6 +85,24 @@ As a user or developer using IPNS for naming, there are three common operations

### IPNS is transport agnostic

```mermaid
graph TB
Record>"IPNS Record"]
subgraph Routing
Publisher
Resolver
Local[("Local store")]
subgraph Transports
PubSub[(PubSub)]
DHT[(DHT)]
end
end
Resolver-- resolve -->Record-- "(re)publish" -->Publisher
Publisher-- PUT -->DHT-. GET .->Resolver
Publisher-- PUT -->PubSub-. GET .->Resolver
Publisher-- Cache -->Local-. GET .->Resolver-- Cache -->Local
```

The self-certifying nature of IPNS records means that they are not tied to a specific transport protocol. In practice, most IPFS implementations rely on the [**DHT**](dht.md) and [**libp2p PubSub**](https://docs.libp2p.io/concepts/publish-subscribe/) to publish and resolve IPNS records.

There are nuanced differences and trade-offs between the **DHT** and **PubSub** to be aware of.
Expand Down