Organize everything. Hyperfiles is a self-organizing universal knowledge graph. It was designed to support composable data exchange on open markets and data interoperability between applications or execution environments (e.g. blockchain virtual machines). Hyperfiles is built on the Near Blockchain Operating System (BOS) using everything.dev and currently only supports data types on Near. However, BOS is fundamentally chain agnostic and multi-chain composability is on the short-term roadmap.
Quick Start
Guides and Example Use Cases (in progress)
- Guide: ["How to Create a New Fileformat"] - coming soon!
- Guide: ["How to Create a New File"] - coming soon!
- Guide: ["How to Use Attestations"] - coming soon!
- Use Case: "Near Attestation Service" - in progress!
- Use Case: "Hypercerts on BOS" - demo ~ Docs
- Use Case: ["Scientific Fileformat Ontology (SFO)"] - coming soon!
- Guide: ["Hyperfiles Development Roadmap"] - coming soon!
- The Hyperfiles knowledge graph is composed by reducing any piece of data or code into a set of unique objects, called
records
, which map to a set of pre-definedfields
. - Each set of
fields
composes into a uniquefileformat
. Likewise, each set ofrecords
composes into a uniquefile
. Files
are an indexed combination offields
andrecords
.Jobs
are a specificfileformat
type that contain a set of instructions to run a Docker container using decentralized compute networks.
These features will be developed after a front-end that enables users to manually interact with the knowledge graph.
- Any data or job can be mixed and matched, enabling seamless composability across apps.
- Fileformats are automatically detected & categorized when new data is entered or when new fileformats are created during queries and jobs.
- Fields are analyzed to identify primitive types and basic statistics
- Core types & user-specific types?
- Marketplace price determination
Integrated Frontend - In Progress
- Publish (file/fileformat) - coming soon!
- Explore - coming soon!
- Profile - coming soon!
Top-Level Plugins: These are the main components used to interact with the entire Hyperfiles knowledge graph.
newFile
: create a new file via upload, manual input, and queries - MVP Complete!query
: find any set of things, then mix and match - coming soon!newJob
: create a new job file and execute a tool config - coming soon!
Mid-Level Plugins: These components can be used by developers to create new use cases for Hyperfiles.
create.fileformat
: create a new fileformat thing (should fileformats have owners?) - MVP Complete!create.record
: create a new record thing - MVP Complete!
Backend Plugins: These component(s) are used by the top-level and mid-level plugins and likely won't need to be modified when integrating or using Hyperfiles.
create.field
: create a new field thing - MVP Complete!
Core Types
- field
- record
- fileformat
- file
- metadata - needs update!
To Do
- Enable upload if file matches a template. Otherwise, use input fields.
- Fileformat by creating an array of fields and checking if fields exist, then check if that combination of fields exists
- Create unique IDs for each unique Thing (start with core types)
- create.field (xN) → create.fileFormat (x0-1) → create.record (xN) → create.file (x1)
- Enable using queries to create new files
- Index EAS & enable cross-minting
npm install
Then, run the command:
npm run dev
This will serve the widgets from http://127.0.0.1:4040/
.
Go to everything.dev/flags and paste this value there.
Once set, see the locally served app at hyperfiles.near/widget/app.