Knowledge Base
Storage Data Model and On-Chain Objects
Storage Data Model and On-Chain Objects
The central on-chain record for ObjectID Storage is OIDStorageObject. It represents the storage identity of a file and keeps references to file metadata, oracle task data, IPFS result data and lifecycle status.
Core fields
owner_did: DID that controls the storage object.file_name,mime_type,file_size: original file metadata.sha256: deterministic hash computed before the oracle task.source_url: temporary backend URL consumed by oracle nodes.uploaded_at_msandplanned_deletion_at_ms: lifecycle timestamps.oracle_profile_id,oracle_template_id,oracle_price_iota,oracle_task_id: oracle execution references.ipfs_cidandipfs_gateway_url: IPFS result references after pinning.immutable_metadataandmutable_metadata: application metadata attached to the storage object.status: pending oracle, pinned, marked for deletion, or deleted.change_log: compact history of relevant lifecycle updates.
Main Move functions
create_storage_with_oracle_task: burns storage credits, creates the oracle task and creates the storage object in one flow.create_storage: creates a storage object for an already existing oracle task.update_storage_pin_result: records the IPFS CID, gateway URL and planned deletion timestamp after the oracle result.extend_storage_retention_with_oracle_top_up: burns more credits, tops up the oracle task and extends retention.update_storage_mutable_metadata: updates mutable application metadata.mark_storage_for_deletionanddelete_storage: manage deletion lifecycle.
Metadata strategy
Immutable metadata should describe facts that must not change after object creation. Mutable metadata is used for operational references such as oracle task IDs discovered after transaction execution, UI hints or follow-up processing state.

