-
Notifications
You must be signed in to change notification settings - Fork 0
Overview
James Carnley edited this page Nov 2, 2023
·
5 revisions
EFS at its core is a hierarchical structure of folders and data implemented on top of a property graph. Users access data through a static HTML, CSS, JS Web App hosted on IPFS that connects to the blockchain via a user's wallet, RPC endpoint, or a light client.
EFS utilizes a property graph model which allows for the storage of data in a graph structure with nodes representing entities, and edges representing the relationships between these entities. Each node and edge can have associated properties that store data in key-value pairs.
graph TD;
Root((Root)) -->|contains| Folder1[Folder 1]
Root -->|contains| Folder2[Folder 2]
Folder1 --> File1A{{File 1A}}
Folder1 --> File1B{{File 1B}}
Folder1 --> SubFolder1A[SubFolder 1A]
Folder2 --> File2A{{File 2A}}
Folder2 --> SubFolder2A[SubFolder 2A]
SubFolder1A --> File1A1{{File 1A1}}
SubFolder2A --> File2A1{{File 2A1}}
SubFolder2A --> SubSubFolder2A1[SubSubFolder 2A1]
SubSubFolder2A1 --> File2A1a{{File 2A1a}}
SubSubFolder2A1 --> File2A1b{{File 2A1b}}
classDef folder fill:#ffcc00,color:#333,stroke:#333,stroke-width:2px;
classDef file fill:#ccffcc,color:#333,stroke:#333,stroke-width:1px;
class Root,Folder1,Folder2,SubFolder1A,SubFolder2A,SubSubFolder2A1 folder;
class File1A,File1B,File2A,File1A1,File2A1,File2A1a,File2A1b file;
- Represent an idea or community
- Controls its property values and types
- Has associated properties/files/data in the form of key-value pairs
- These are individual peices of data and files
- Can be simple (name = "James") or complex (Whitepaper = bytes of PDF file)
- Each property has an associated content-type/mime-type such as text/plain or application/pdf
- Represent relationships between nodes
- Can have properties that describe the nature of the relationship
- Edges can be either single statuses like James -> "Follows" -> Vitalik or an array of events such as instances of James -> "Met IRL".ETHDenver -> Vitalik
- EFS's graph is organized in a hierarchical folder-like structure that allows for ownership and organizational structure for large communities
- Represented as nodes with related properties
- Folders may also denote a certain type of contents such as /account/0x918327...1f having special properties of being an owned folder by that user
- Can contain other folders and files, mirroring traditional file system structures
- Represented as properties with data content
- Stored within folders, providing a clear organizational structure
- EFS implements a URI scheme that enables users to reference data within the property graph easily
- The URI format is designed to be intuitive and aligns with existing web standards, allowing other resources on the web to link directly to EFS data