Store files on-chain (Disc Minat)
OmbraChain's filesystem is content-addressed and versioned. A "drive" is a site owned by your ox
address; each commit is an immutable release; a mutable pointer marks the active version. Writing
consumes mined storage capacity, not OMBRA.
The transactions
| Tx | Purpose |
|---|---|
WEB_SITE_REGISTER | create a drive (once) |
WEB_FILE_INIT / WEB_FILE_CHUNK / WEB_FILE_FINALIZE | upload a content-addressed file in chunks |
WEB_RELEASE_PUBLISH | bundle files into an immutable version (manifest + Merkle root) |
WEB_RELEASE_ACTIVATE | set the active version (checkout / rollback) |
WEB_FILE_DELETE | remove a file and reclaim its bytes |
STORAGE_TRANSFER | move free storage capacity to another account |
Commit flow
register site (if missing)
→ for each NEW file: FILE_INIT (storageFee 0) → CHUNK… → FINALIZE
→ RELEASE_PUBLISH (manifest of path → fileId)
→ RELEASE_ACTIVATE
Unchanged files are deduped for free — fileId = hash(siteId, path, contentHash), so re-committing an
unchanged file is skipped. Each commit is a new version; activating an older release is time-travel.
Reading a drive
GET /api/web/site/:siteId/releases → list versions
GET /api/web/release/:releaseId/bundle → files of a version (base64 chunks)
GET /api/web/alias/:alias/bundle → active version by human alias
GET /api/web/file/:fileId/content → raw file bytes
Publish a website
A drive whose files are HTML/CSS/JS is served as a static site at <alias>.ombra-net.com. Set a human alias
with WEB_ALIAS_SET. Any MIME type is allowed (post-fork), so you can store code, data, or binaries too.
Ombra Drive does all of this with buttons: edit locally, Commit to chain, browse Versions, and Checkout any past release.