The Conflict-Free File System Network, or CFSNET, is a distributed,
decentralized, and peer-to-peer system for securely authoring, tracking,
and replicating content in self contained file system archives. This is
some what equivalent to how Linux file systems are distributed through Docker
containers and how the POSIX.1-1988
Tar file format represents archive files
as binary objects (Tarballs).
INSERT WHITE PAPER/TECHNICAL DOCUMENT LINK HERE
CFSNET creates a UNIX like file system implementing a subset of the Filesystem Hierarchy Standard. CFSNET file systems are partitioned into smaller Hyperdrive instances.
CFSNET builds on Hyperdrive in similar ways Dat has built on it, but CFSNET overlays a POSIX like file system that is partitioned into distinct Hyperdrive file systems that can be replicated independently. The API is consistent with Hyperdrive while exposing a Promise based API as well.
This project is in active development.
- Node
- pkg-config (
brew install pkg-config
for Macos)
$ npm install cfsnet
const { createCFS } = require('cfsnet/create')
const id = 'my-file-system'
const cfs = await createCFS({ id })
// pipe file system events to stdout from `/var` partition
cfs.createReadStream('/var/log/events', { live: true }).pipe(process.stdout)
// write hello.txt to HOME
await cfs.writeFile('./hello.txt', 'world') // will write to /home/hello.txt
// read /home/hello.txt
const buffer = await cfs.readFile('./hello.txt') // will read ./hello.txt
// read HOME (~) directory
console.log(await cfs.readdir('~/hello.txt'))
MIT