🟢
Filecoin Green Documentation
  • 📗Filecoin Green Documentation
  • ♻️Storage Providers Green Guidance Documentation
    • 🌐Introduction
    • 🌍Filecoin Green
      • 🔱Filecoin Green Pledge
    • 📑Storage Provider’s Tiered Sustainability Claims
    • 📋Storage Providers Sustainability Criteria
      • GHG Emissions Accounting
        • How Storage Providers should Calculate Emissions
      • Renewable Energy Procurement
        • How Storage Providers should Procure Renewable Energy
          • Renewable Electricity Sourcing Methods
            • Spotlight: DCENT
          • Additional methods for procuring renewable energy
            • Spotlight: Zero Labs
          • Credible Claims Requirements
          • Energy Sources and Technologies
      • Additional Reporting Criteria and Reporting Cadence
        • Water Use
        • Hardware Waste
        • Reporting Periods and Cadence
    • 🔆Conclusion
    • 🗃️Additional Resources
      • Annex 1: Carbon Accounting Methodologies Hierarchy
      • Annex 2: Details on Storage Provider’s Tiered Sustainability Claims
      • Annex 3: Filecoin Green Reporting Portal
      • Annex 4: Treatment of Carbon Credits
  • ⚙️Filecoin Green API Docs
    • 🔧List of APIs
      • ⚡Energy Consumption API
      • 🌿Green Scores API
      • 📈Renewable Energy Certificates API
      • ↔️Filecoin Miner ID <-> Peer ID relation API
  • 🖥️Filecoin Green UI Tools
    • 🔍CID.place
    • 📃REC Browser
    • 📈Metered Energy Consumption
    • 📩CSV Export utility
    • 👾CO2.Storage
  • 📚Additional Resources
  • 👾CO2.Storage Docs
    • 🧐About
    • ⚙️Data Model
    • ⚒️UI: Getting Started
    • 🏗️Setting Up the CLI
    • ✍️Template Author's Guide
    • 💥Examples
    • 🌱Build a Web UI
    • 🖥️UI Functionality
    • ⌨️API Functionality
    • 🎆Configuring IPFS Nodes
    • ‼️FAQ
    • 🗺️Development Roadmap
    • 🗻Decarbonize Your Travel
    • 💡Energy Validation Process (EVP) Schema
Powered by GitBook
On this page
  • Type Data Model
  • Asset Data Model
  • Provenance Data Model
  1. CO2.Storage Docs

Data Model

The data model described here is compliant with transform.storage v1.0.0.

PreviousAboutNextUI: Getting Started

Last updated 1 year ago

The goal of CO2.Storage is to store environmental asset data along with explicit information on its data type, making it easy to transform or compare data between different assets. Both the underlying data and the assets themselves are stored as .

Below, every rectangle corresponds to an IPLD object with its own CID. Every arrow corresponds to an attribute of that object, labeled with the attribute name.

For a video overview and demo of the data model below, see the second half of the February 2022 .

Type Data Model

Types are stored using the data model above. The type block contains some metadata about the type, along with a schema defining that type. The fields included in the type block are:

  • cid: this is the CID corresponding to a JSON-schema defining the data type, shown in the schematic above

  • name: a short label for this type

  • version: version of the transform.storage protocol, in this case "1.0.0"

  • base (optional): if this was cloned from another type, base is the CID of that type

  • parent (optional): null for v1.0.0

  • creator (optional): wallet creating this type

  • reference (optional): null for v1.0.0

  • timestamp (optional): UTC timestamp when this type was created

  • description (optional): longer label for this type

Asset Data Model

As shown above, assets link data in a payload to the datatype associated with that data. The asset itself contains some additional metadata. Its attributes are:

  • cid: this is the CID of the actual data we are describing; the 'payload' of the asset data

  • template: the CID of a type as defined above

  • name: a short label for this asset

  • version: version of the transform.storage protocol, in this case "1.0.0"

  • parent (optional): null for v1.0.0

  • creator (optional): wallet creating this asset

  • timestamp (optional): UTC timestamp when this asset was created

  • description (optional): longer label for this asset

  • protocol_name: transform.storage

Provenance Data Model

Any data can be signed by a contributor as part of a Provenance Protocol community, as shown.

The format for these provenance messages is:

Message B:

{

“protocol” : “provenance protocol”,

“version” : “1.0.0”,

"provenance_message" : <CID of Message A>,

“signature” : <sign CID of Message A>,

“contributor_key” : <key of message signer>,

“method” : “eth_signTypedData_v4”,

“verifying_contract” : “0x7c75AA9001c4…”,

“chain_id” : “0x1”

}

Message A:

{

“protocol” : “provenance protocol”,

“version” : “1.0.0”,

“data_license” : <from account>,

“provenance_community”: <name of community>,

“contributor_name” : <name of contributor>,

“contributor_key” : <key of message signer>,

“payload” : <CID of Data / Type / Asset>,

“notes”: null

}

An example of this data model is Type: / Schema:

An example of this data model is Asset: / Type: / Data:

👾
⚙️
bafyreidav…
bafyreihxmr3…
bafyreidzoai4…
bafyreidav…
bafyreictxcw…
IPLD DAGs
Filecoin Green Virtual Meetup
The type data model
The Asset data model