Ceramic Overlay Filesystem

A distributed filesystem stored in IPFS and orchestrated using the Ceramic network.


This project creates a virtual filesystem by creating a network of streams with each directory's contents in a separate stream. The data is stored immutably in IPFS with a dynamic collection of references organized using Ceramic. There are a variety of goals I have in mind, but one of my big drives are fond memories of a Napster feature allowing you to browse the published files of connected peers. I spent many an hour entertained exploring the music collections of other users. In general, I think there's a useful space for loosely organized collections of public files.

Ceramic Overlay Filesystem showcase

How it's made

The system is not terribly complex. There's a React front end collecting user input and driving the creation of data structures in Ceramic with the content items stored in IPFS. The primary function of the interface at this point is to add content and accompanying context paths. When presented with a new entry, the algorithm walks forward as far as it can in the existing DAG. For the remainder of the path that needs to be created, it works backwards from the content and joins the branch to the existing structure. I also spent some time making all the functionality keyboard accessible.

Technologies used