Crate wnfs

source ·
Expand description

The crate implements the Web Native File System (WNFS) version 2.

The Web Native File System is a file system written for the web. It is versioned, logged, programmable, has strong-yet-flexible security, and is fully controlled by the end user. Service providers can validate writes without reading the contents of the file system, and minimal metadata is leaked.

This implementation is based off of the typescript implementation. It exposes an immutable API, extending WNFS immutable nature to the in-memory representation of the file system.

Re-exports

pub use private::PrivateNode;

Modules

Block store traits.
Helper methods for decoding and encoding values into DagCbor.

Structs

An in-memory block store to simulate IPFS.
The metadata of a node in the WNFS file system.
A key-value pair type.
Represents the directory nodes along a path.
Represents a directory in the WNFS private filesystem.
Represents a file in the WNFS private filesystem.
The result of an operation applied to a directory.
Represents a directory in the WNFS public filesystem.
Represents a file in the WNFS public filesystem.
The result of an operation applied to a directory.

Enums

File system errors.
A data structure that represents a link in the IPLD graph. Basically it is a “link” to some content addressable value of T.
The type of file system node.
The kinds of outcome from getting a PathNodes.
Represents a node in the WNFS public file system. This can either be a file or a directory.

Constants

Traits

A data structure that can be serialized into any data format supported by Serde.
For types that implement block store operations like adding, getting content from the store.
A common trait for the ability to generate a hash of some data.
Implements getting a unique identifier for a node.
Implements deep equality check for two types.

Functions

Type Definitions

The general size of digests in WNFS.
Namefilters are 2048-bit bloom filters.