Skip to content

KlimaDAO/klima-subgraph

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KlimaDAO Protocol Subgraphs

The main subgraph repo that houses all of the data associated with the KlimaDAO protocol (except the tokenized carbon subgraphs which live here).

Local Installation

First, deploy a Graph node locally. The most straightforward option is to use docker-compose from the graph-node repo. Make sure to update the ethereum environment variable of graph-node in docker/docker-compose.yml to matic:https://polygon-rpc.com/.

For information on getting started with a Graph Node see this link: https://github.com/graphprotocol/graph-node/blob/master/docs/getting-started.md

Install any needed packages.

yarn

Navigate to the desired subgraph deployment folder. Then create the subgraph instance

yarn create-local

Finally run codegen and deploy the subgraph and start indexing.

yarn codegen && yarn deploy-local

Local Navigation and Querying

After the subgraph is deployed, navigate to http://127.0.01:8000/subgraphs/name/name-of-subgraph. You can then create GraphQL queries and view the returned data.

Deployed Hosted Service Subgraphs

Note for non Ubuntu linux developers

A bug in Matchstick prevents the npm run test copmmand to run correctly. You can use the workaround described here: graphprotocol/graph-tooling#1546 (comment)

Add credits definitions on the fly

Adding credits definitions normally requires updating the lib/projects/Projects.ts file and recompiling and redeploying the Marketplace and Polygon Digital Carbon subgraphs. This process is not optimal because the subgraphs deployments are tedious and long.

Projects can be added on the fly (without redeployuing the contracts) by updating the CreditManager contract.

  • update the lib/projects/Projects.ts file with the new project's definitions
  • set your ALCHEMY_API_KEY environment variable
  • set your PRIVATE_KEY environment variable
  • execute npm run addCredits-polygon <creditId>