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)