UNPKG

ipfs

Version:

JavaScript implementation of the IPFS specification

64 lines (63 loc) 7.96 kB
┌─────────────────────────────────────────────────────────────────────────────┐ │ The IPFS Architecture │ └─────────────────────────────────────────────────────────────────────────────┘ ┏━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ======================= IPFS Daemon ======================= ┃ ┃ ┃ ┃┌────┐ ┏ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ │ │ ++++++++++++++++++ IPFS Core ++++++++++++++++++ ┃ │ │ ┃ ┌──────────────────────────────────────────────────┐ │HTTP│ ┌─│ API (Core API) │ ┃┃ ┃│Gate│ │ ├──────┬──────┬──────┬──────┬──────┬───────┬───────┤ ┃ ┃│way │◀┤ │ Repo │Block │ DAG │ Pin │Files │ │Network│ ┃ │ │ │ └──────┴──────┴──────┴──────┴──────┘ └───────┘ │ │ │ │ │ │ │ │ │ ┃ │ │ │ │ │ ┌────┘ │ ┌────┘ ┌────┘ ┃ ┃└────┘ │ ┌──┘ │ │ ┌──────┘ │ ▼ ┃┃ ┃ │ │┌────────┘ │ ▼ ▼ ┌────────────────────┐ ┌────┐ │ ││ │┌───────┐┌──────┐│ libp2p │┃ │ │ │ ││ ││Pinning││Unixfs││ (Network, PubSub, │ │ │ │ ││ ││Service││Engine││ Swarm, Crypto) │┃┃ ┃│ │ │ ││ │└───────┘└──────┘│┌──────────────────┐│ ┃ ┃│HTTP│ │ ││ │ │ │ ││Connection Manager││┃ │RPC │ │ ││ ├────┴────────┘ │└──────────────────┘│ ┌───┐┌────────┐ │API │◀┘ ││ │ │┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ │┃ │CLI││ipfs-api│ │ │ ┃ ││ │ │ Peer Reputation ││ ┃ └───┘└────────┘┃│ │ ││ │ │└ ─ ─ ─ ─ ─ ─ ─ ─ ─ │┃┃ ┃│ │ ┃ ││ ┌──┘ └────────────────────┘ │ │ ││ │ ┌ ─ ─ ─ ─ ┐┌ ─ ─ ─ ─ ─ ┃ └────┘ ┃ ││ │ Providers GC │ ││ ▼ │ Service ││ ┃┃ ┃ ┃ ││┌─────────────┐ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ ┃ ┃ │││Graph Service│─────┬───────────┬───────────┐ ┃ ┃ ││└─────────────┘ ▼ ▼ ▼ ││ │ ┌ ─ ─ ─ ─ ─ ┌ ─ ─ ─ ─ ─ ┌ ─ ─ ─ ─ ─ ┃ ┃ │└───────┤ GraphSync │ GraphSyncB│ GraphSyncC│ ┃ ┃ │ ▼ └ ─ ─ ─ ─ ─ └ ─ ─ ─ ─ ─ └ ─ ─ ─ ─ ─ ┃┃ ┃ ┃ │ ┌─────────────┐ │ │Block Service│─────┬───────────┬───────────┐ ┃ ┃ │ └─────────────┘ ▼ ▼ ▼ │ │ ┌──────────┐┌ ─ ─ ─ ─ ─ ┌ ─ ─ ─ ─ ─ ┃┃ ┃ ┃ └─────┬──┴──────│ Bitswap │ BitswapB │ BitswapB │ ┃ ┃ ▼ └──────────┘└ ─ ─ ─ ─ ─ └ ─ ─ ─ ─ ─ ┃ ┃ ┌─────────┐ │ Repo │ ┃ ┃ └─────────┘ ┃ ┃ │ ┃┃ ┃ ┃ ┌─┴──────┬──────────┬───────┐ ▼ ▼ ▼ ▼ ┃ ┃ ┌────┐┌──────────┐┌────────┐┌────┐ │ fs ││indexedDB ││LevelDB ││ S3 │ ┃┃ ┃ ┃ └────┘└──────────┘└────────┘└────┘ ┃ ┃ ┃ ┗ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ┌───────────────────────────────────────────────────────────────────────────┐ │ Legend │ │ ┌ ─ ─ ┐ │ │ Planned, not yet implemented │ │ └ ─ ─ ┘ │ │ ┌─────┐ │ │ │ │ Exist and shipped with IPFS │ │ └─────┘ │ └───────────────────────────────────────────────────────────────────────────┘