Skip to content

Explanations‐Diagrams

Michael Collins edited this page Jan 11, 2024 · 1 revision

Architecture Diagrams

NOTE: all diagrams are subject to change and may be incomplete or outdated.

High-Level Architecture

graph TD;
  A[Frontend monorepo]--deployed on-->B((Vercel));
  A -.deployed on.->C((IPFS));
  A --read/write--> D(Firebase off-chain storage);
  I[Subgraphs] --deployed on--> G(Graph Hosted Service);
  click I href "https://github.com/klimadao/klima-subgraph" "KlimaDAO Subgraph repo";
  L --read--> G;
  A --read--> G;
  A --read/write-->L;
  E[Carbon Dashboard Dash app] -- read --> G;
  E --read-->F((Verra Registry));
  click F href "https://registry.verra.org";
  A--read-->H(Sanity CMS);
  K[Solidity contracts]--deployed on-->L((Mainnet));
  click L href "https://polygonscan.com" "Polygon Mainnet Explorer";
  M[Python script]--write-->H;
  click M href "https://github.com/KlimaDAO/research-analytics/tree/main/populate_cms" "CMS Ingestion Script";
  M --read-->F;
  L --> P(Dune Analytics);
  click P href "https://dune.com/klimadao";
Loading

TODO: Provisional Future State Architecture

Should aim to maximize reliability and resilience while minimizing centrally hosted services

TODO: Detailed Dependency Diagram

Clearly separates each of the applications:

  • klimadao.finance (<-> RPC, firebase, subgraph, cms)
  • app.klimadao.finance (<-> RPC, subgraph)
  • carbonmark.com (<-> RPC, carbonmark-api)
  • COMING SOON: carbonmark-api (<-> rpc, subgraphs)

And which ones depend on:

  • main cms (deployed to klimadao.sanity.studio)
  • carbon-projects cms (deployed to carbon-projects.sanity.studio)
  • Firebase
  • each subgraph

There are some tools out there for mapping this stuff automatically based on network traffic which will make this easier, but just the source code and browser console should be enough to start

User Flow Diagrams

TODO: Fiat-to-Retirement Sequence Diagram

About These Diagrams

Written in Mermaid

Handy Mermaid cheatsheet