ingredients

s3/r2 + IPFS node = filesystem?

To do any thing, you need storage and communication. Storage so you can remember what other people have said, and communication so you can relay that to other people, and also get new information.

You need to store blobs, store a DB, and host a webapp. The webapp hosting is easy because it is just a static host that serves a JS file.

Storage here usually means combining r2 or s3 with a host (something like AWS EC2) that serves an IPFS node.

Build a Decentralized Chat App with Knockout and IPFS

The IPFS Gateway Problem

Cloudflare goes InterPlanetary - Introducing Cloudflare’s IPFS Gateway

storage

Storage is essentially free these days - bandwidth (many people fetching data) is the more costly part, although Cloudflare R2 as an example has brought costs to zero for a lot of use cases

blobs

In the DB we normally just write down a reference to a blob -- a hash typically. The blobs are stored separately from the DB storage, which has text records. You can use just a single disk to store everything, as in ssb, or you can use a network-based storage for blobs & DB.

The IPFS Cloud

While it would be incredible to have a giant network of servers all storing our data for free, the economics don’t make sense. After all, storage isn’t free. All of this data needs to be stored somewhere and that costs money or tokens.

DB

How do you store the data so that you can find and replicate it?

replication

Who's data do you host on your IPFS node? This is the pubsub situation seen here

ipfs-pubsub-room js-ipfs Tutorial: How to build an application with IPFS PubSub Room js-libp2p