banyanfs

Crates.iobanyanfs
lib.rsbanyanfs
version0.2.1
sourcesrc
created_at2024-03-20 16:32:40.807594
updated_at2024-03-28 18:53:17.751367
descriptionA modern end-to-end encrypted filesystem built on distributed block replication primitives
homepagehttps://banyan.computer
repositoryhttps://github.com/banyancomputer/banyanfs
max_upload_size
id1180708
size573,170
Claudia Richoux (laudiacay)

documentation

README

BanyanFS

BanyanFS is a work-in-progress distributed file system that is designed to be privacy centric, with collaborative change tracking and versioning, that can scale to exabytes of data.

This library is currently powering the file management system in the Banyan storage platform.

Features

  • End-to-end encryption
  • Block-based network storage
  • Local block cacheing
  • Native CID addressing for internal files and external encrypted blocks
  • Encryption key management
  • Full WASM support
  • Async & Multithread support
  • Recursive mounting
  • Merkle-CDRT based version merging
  • Native IPFS integration
  • FUSE filsystem
  • S3 service

Contributing

We're currently in the process of cleaning up some cruft, standardizing some internal patterns, and formalizing a specification for both the transfer protocol and the behavior of the internal file system that has been in progress alongside the development of the Banyan platform.

We welcome issues and general feedback. If you're interested in contributing a fix you're welcome to open a PR, please open an issue before pursuing any refactors or feature changes so we can make sure they're in line with our clean up efforts.

Development

If you would like to use BanyanFS in your own project, we maintain protocol and format compatibility between major versions but currently do not backfill fixes or maintain LTS support for any specific version. We recommend using the latest version for any new projects. If you do encounter any issues or have compatibility concerns please open an issue and we'll do our best to address it.

Commit count: 359

cargo fmt