Expand description
Common types that dsecribe core JaxBucket responsibilities.
- Buckets
- Nodes Bucket data structures and operations
This module defines the core types for JaxBucket’s encrypted, content-addressed file storage:
- [
Manifest]: Bucket metadata including ID, name, shares, and content-addressed pointers - [
Node]: DAG structure representing directories and files - [
Mount]: In-memory representation of a bucket with CRUD operations - [
Pins]: Set of content hashes that should be kept available - [
Principal]: Access control entries (peer identity + role)
§Architecture
§Buckets as DAGs
A bucket is a Directed Acyclic Graph (DAG) of encrypted nodes:
Manifest (unencrypted) --entry--> Root Node (encrypted)
|
+------------------+------------------+
| | |
File1 Dir Node File2
(encrypted) (encrypted) (encrypted)
|
+-------+-------+
| |
File3 File4
(encrypted) (encrypted)§Content Addressing
All nodes and files are content-addressed by their (post-encryption) hash.
Links between nodes use Link, which includes:
- Hash (BLAKE3)
- Codec (DAG-CBOR for nodes, Raw for encrypted data)
- Format (Raw blob or HashSeq)