ZCN Fuse for 0Chain Storage

Fuse (Filesystem in USerspacE) is a low-level interface to enable customized file systems.

I have implemented a Proof of Concept 0Chain implementation that implements a FUSE system to interface 0chain storage allocations, (currently it only works on Linux and is Read Only).

Here is the Github Repo:- https://github.com/sculptex/zcnfuse

Here is a demonstration video, showing three instances of zcnfuse concurrently being run on three folders mapped to different allocations.

I decided to showcase this on a Desktop environment so you can see images being viewed etc. plus the terminal windows showing debug information alongside. All images are requested by the file manager in order to generate thumbnails which is very inefficient, but it is great for illustration purposes. (This is not the intended usage).

You can see the directory structures being queried on-the-fly plus the files being downloaded on demand. Once a folder list or file is downloaded, it is cached for subsequent reads so is extremely fast.

In most instances, since the files are images, the thumbnail generator requests the files in sequence, but where I double-click an image file to open it, it is requested quickly, I assume it has a higher priority than the thumbnail generator. Additionally interesting is the repetitive and additional requests (hidden/trash etc.) which are either served from cache or ignored respectively.