Syncing data and making file systems in browsers and desktop with WNFS and CAR Mirror

This is a March 2024 summary and collection of links to the state of protocols and implementations around WNFS, an encrypted file system that can be used with IPFS, and CAR Mirror, efficient transfer and synching of content addressed data.

WNFS

WNFS is the “Web Native File System”.

Working Group / protocol repository: https://github.com/wnfs-wg

rs-wnfs implementation https://github.com/wnfs-wg/rs-wnfs

CAR Mirror

“rsync for DAGs”

rs-car-mirror, streaming, and HTTP2

Loom by @matheus23. Current state of implementation of rs-car-mirror, both in browser via Wasm, and everywhere else with Rust binary

Repo with code https://github.com/fission-codes/rs-car-mirror

CAR Mirror is used to transfer IPLD from one computer to another over the internet over various transports, but most notably HTTP(s). It tries to do so with deduplication and minimal communcation round-trips.

CAR Mirror Reflections

From Belgium, go-CAR Mirror plugged into Kubo:

Data Transfer Batching Techniques

Slides - DataTransferBatchingTechiques.pdf (657.1 KB)

Appa

Desktop syncing with Iroh + WNFS

Repo https://github.com/n0-computer/appa

Previously

We built a visual interface into IPFS powered by the JS version of WNFS in browser.

See Fission Drive https://drive.fission.codes/ – this is a little stale, but can show you lots of file interactions in browser.

And ODD SDK demos https://odd.dev, which bundled WNFS and has a very basic drag and drop interface, including for private files.

1 Like

There’s also some js wrappers around rs-wnfs that need a shout-out, specifically:

1 Like