Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

Commit

Permalink
docs: add IPFS Architecture Diagram
Browse files Browse the repository at this point in the history
  • Loading branch information
daviddias committed Oct 27, 2018
1 parent e1d4e6a commit a516d80
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
Binary file added img/architecture.monopic
Binary file not shown.
Binary file added img/architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
54 changes: 54 additions & 0 deletions img/architecture.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
┌─────────────────────────────────────────────────────────────────────────────┐
│ The IPFS Architecture │
└─────────────────────────────────────────────────────────────────────────────┘
┏━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━
======================= IPFS Daemon ======================= ┃
┃ ┃
┃┌────┐ ┏ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━
│ │ ++++++++++++++++++ IPFS Core ++++++++++++++++++ ┃
│ │ ┃ ┌──────────────────────────────────────────────────┐
│HTTP│ ┌─│ API (Core API) │ ┃┃
┃│Gate│ │ ├──────┬──────┬──────┬──────┬──────┬───────┬───────┤ ┃
┃│way │◀┤ │ Repo │Block │ DAG │ Pin │Files │ │Network│ ┃
│ │ │ └──────┴──────┴──────┴──────┴──────┘ └───────┘
│ │ │ │ │ │ │ │ │ ┃
│ │ │ │ │ ┌────┘ │ ┌────┘ ┌────┘ ┃
┃└────┘ │ ┌──┘ │ │ ┌──────┘ │ │ ┃┃
┃ │ │┌────────┘ │ ▼ ▼ ▼
┌────┐ │ ││ │┌───────┐┌──────┐┌────────────────────┐┃
│ │ │ ││ ││Pinning││Unixfs││ libp2p │
│ │ │ ││ ││Service││Engine││┌──────────────────┐│┃┃
┃│ │ │ ││ │└───────┘└──────┘││Connection Manager││ ┃
┃│HTTP│ │ ││ │ │ │ │└──────────────────┘│┃
│RPC │ │ ││ ├────┴────────┘ │┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ │
┌───┐┌────────┐ │API │◀┘ ││ │ │ Peer Reputation ││┃
│CLI││ipfs-api│ │ │ ┃ ││ │ │└ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ ┃
└───┘└────────┘┃│ │ ││ │ └────────────────────┘┃┃
┃│ │ ┃ ││ ┌──┘┌ ─ ─ ─ ─ ┐┌ ─ ─ ─ ─ ─
│ │ ││ │ Providers GC │ ┃
└────┘ ┃ ││ │ │ Service ││
││ ▼ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ ┃┃
┃ ┃ ││┌─────────────┐ ┃
┃ │││Graph Service│─────┬───────────┬───────────┐ ┃
┃ ││└─────────────┘ ▼ ▼ ▼
││ │ ┌ ─ ─ ─ ─ ─ ┌ ─ ─ ─ ─ ─ ┌ ─ ─ ─ ─ ─ ┃
┃ │└───────┤ GraphSync │ GraphSyncB│ GraphSyncC│ ┃
┃ │ ▼ └ ─ ─ ─ ─ ─ └ ─ ─ ─ ─ ─ └ ─ ─ ─ ─ ─ ┃┃
┃ ┃ │ ┌─────────────┐
│ │Block Service│─────┬───────────┬───────────┐ ┃
┃ │ └─────────────┘ ▼ ▼ ▼
│ │ ┌──────────┐┌ ─ ─ ─ ─ ─ ┌ ─ ─ ─ ─ ─ ┃┃
┃ ┃ └─────┬──┴──────│ Bitswap │ BitswapB │ BitswapB │ ┃
┃ ▼ └──────────┘└ ─ ─ ─ ─ ─ └ ─ ─ ─ ─ ─ ┃
┃ ┌─────────┐
│ Repo │ ┃
┃ └─────────┘ ┃
┃ │ ┃┃
┃ ┃ ┌─┴──────┬──────────┬───────┐
▼ ▼ ▼ ▼ ┃
┃ ┌────┐┌──────────┐┌────────┐┌────┐
│ fs ││indexedDB ││LevelDB ││ S3 │ ┃┃
┃ ┃ └────┘└──────────┘└────────┘└────┘ ┃
┃ ┃
┗ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━
━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━

0 comments on commit a516d80

Please sign in to comment.