Skip to content

jaideepdas/subgraphs

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

487 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Subgraphs

This repo contains subgraphs defined using a set of standardized schemas. These subgraphs are used to extract raw blockchain data and transform them into meaningful metrics, for products and analytics. Our goal is to build a subgraph for every DeFi protocol in the space.

Contribution Guidelines

  • Decide which protocol you want to build a subgraph for.
  • Fork this repository.
  • Add a folder under subgraphs with the name of the protocol you want to work on.
  • Copy over the corresponding schema from the root folder. For example, if you are working on a yield aggregator, you should copy over schema-yield.graphql to your folder and rename it to schema.graphql. Note schema-common.graphql is used for schema design and reference, and should never be used for implementation.
  • Build the subgraph within that folder. Feel free to use the reference subgraph as a reference.
  • Submit a PR (pull request) to this repo after you are done. Make sure you submit your PR as a draft if it's a work-in-progress. Include a link to your deployment in your PR description.

Recommended Development Workflow

  • Start with understanding the protocol. An easy start could be interacting with the protocol UI on testnets, check transaction details on Etherscan and pay attention to key events that are emitted.
  • Go over the smart contracts. Identify the ones that we need to pull data from.
    • Usually each protocol has a factory contract that's responsible for tracking other contracts (e.g. Uniswap's Factory contract, Aave's Lending Pool Registry, Yearn's Registry).
    • Also a pool/vault contract that's responsible for pool level bookkeeping and transactions (e.g. Uniswap's Pair contract, Yearn's Vault contract, Aave's Lending Pool contract).
  • Go over the schema and think about what data are needed from smart contract events/calls to map to the fields in each entity.
    • It's easiest to start with more granular entities and build up to aggregated data.
    • For example, usually it's easier to start writing mappings for transactions and usage metrics.
  • Go over the documents in the docs folder. That should answer lots of questions you may have.
  • Implement the mappings, deploy and test your data using either Hosted Service or The Graph Studio.
  • For metrics calculation (e.g. revenue, fees, TVL), please refer to the README.md in the protocol's subgraph folder for methodology. There is also a broader explanation of how different fields are defined in the schema in docs/Schema.md. Feel free to reach out to me if anything isn't clear.
  • We've built a handy debugging/validation dashboard for you to quickly visualize the data in your subgraph. It's deployed to subgraphs.xyz and the source code is under dashboard if you want to spin it up locally.
  • Verify your subgraph against other sources and include specific links to these sources in the README. Below are some common sources:

Resources

Introductory

Intermediate

Advanced

Development Status

๐Ÿ”จ = In progress.
๐Ÿ›  = Feature complete. Additional testing required.
โœ… = Production-ready.

Protocol Status Versions โ€  Deployments
DEX AMM
Apeswap ๐Ÿ›  1.2.1 / 1.1.1 / 1.0.0 Apeswap BSC Apeswap Polygon
Balancer v2 ๐Ÿ›  1.2.1 / 1.2.2 / 1.0.0 Balancer V2 Ethereum Balancer V2 Arbitrum Balancer V2 Polygon
Bancor v2 ๐Ÿ”จ
Bancor v3
Curve ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 Curve Finance Gnosis Curve Finance Polygon Curve Finance Arbitrum Curve Finance Optimism Curve Finance Fantom Curve Finance Avalanche Curve Finance Ethereum
DODO v2 ๐Ÿ”จ
Ellipsis Finance ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 Ellipsis Finance BSC
Quickswap ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 Quickswap Polygon
Platypus Finance ๐Ÿ”จ
Saddle Finance ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 Saddle Finance Ethereum Saddle Finance Arbitrum Saddle Finance Fantom Saddle Finance Optimism
Solarbeam ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 Solarbeam Moonriver
SpiritSwap ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 SpiritSwap Fantom
SushiSwap ๐Ÿ›  1.2.1 / 1.1.1 / 1.0.0 SushiSwap Celo SushiSwap Fuse SushiSwap Moonriver SushiSwap Avalanche SushiSwap BSC SushiSwap Arbitrum SushiSwap Fantom SushiSwap Polygon SushiSwap Ethereum SushiSwap Gnosis
Trader Joe ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 Trader Joe Avalanche
Uniswap v2 ๐Ÿ›  1.2.1 / 1.1.1 / 1.0.0 Uniswap V2
Uniswap v3 ๐Ÿ›  1.2.1 / 1.1.0 / 1.0.0 Uniswap V3 Uniswap V3 Polygon Uniswap V3 Optimism Uniswap V3 Arbtitrum
Lending Protocols
Aave v2 ๐Ÿ›  1.1.0 / 1.1.30 / 1.0.0 Aave V2 Ethereum
Aave v3
Aurigami ๐Ÿ›  1.2.1 / 1.0.2 / 1.0.0 Aurigami Aurora
Bastion Protocol ๐Ÿ›  1.2.1 / 1.0.5 / 1.0.0 Bastion Protocol Aurora
Banker Joe ๐Ÿ›  1.2.1 / 1.0.1 / 1.0.0 Banker Joe Avalanche
BENQI ๐Ÿ›  1.2.1 / 1.0.3 / 1.0.0 BENQI Avalanche
Compound ๐Ÿ›  1.2.1 / 1.5.7 / 1.0.0 Compund Ethereum
CREAM Finance ๐Ÿ›  1.2.1 / 1.0.2 / 1.0.0 CREAM Finance Arbitrum CREAM Finance Polygon CREAM Finance BSC CREAM Finance Ethereum
dForce ๐Ÿ”จ
Euler Finance ๐Ÿ”จ
Geist ๐Ÿ”จ
Hundred Finance ๐Ÿ”จ
Iron Bank ๐Ÿ›  1.2.1 / 1.0.4 / 1.0.0 Iron Bank Fantom Iron Bank Avalanche Iron Bank Ethereum
Maple Finance ๐Ÿ”จ
Moola Market ๐Ÿ”จ
Moonwell Finance ๐Ÿ›  1.2.1 / 1.0.5 / 1.0.0 Moonwell Moonriver
Notional Finance ๐Ÿ”จ
Rari Fuse ๐Ÿ”จ
SCREAM ๐Ÿ›  1.2.1 / 1.0.2 / 1.0.0 SCREAM Fantom
TrueFi
Venus Protocol ๐Ÿ›  1.2.1 / 1.0.2 / 1.0.0 Venus Protocol BSC
Yeti Finance
CDPs
Abracadabra ๐Ÿ›  1.2.1 / 1.0.2 / 1.0.0 Abracadabra Money Abracadabra Money Abracadabra Money Abracadabra Money Abracadabra Money
Alchemix
Inverse Finance ๐Ÿ›  1.2.1 / 1.2.1 / 1.0.0 Inverse Finance Ethereum
Liquity ๐Ÿ›  1.2.1 / 1.1.2 / 1.0.1 Liquity Ethereum
MakerDAO ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 MakerDAO Ethereum
QiDAO
Yield Aggregators
Arrakis Finance
Autofarm
Badger DAO ๐Ÿ”จ
Beefy Finance
Belt Finance ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 Belt BSC
Convex Finance ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 Convex Finance Ethereum
Gamma Strategy ๐Ÿ”จ
Harvest Finance ๐Ÿ”จ
Liquid Driver ๐Ÿ”จ
Pancakebunny
Rari Vaults ๐Ÿ›  1.2.1 / 1.3.13 / 1.0.0 Rari Vaults Ethereum
Reaper Farm ๐Ÿ”จ
Stake DAO ๐Ÿ›  1.2.1 / 1.2.0 / 1.0.0 Stake DAO
Tokemak ๐Ÿ›  1.2.1 / 1.0.0 / 1.0.0 Tokemak
Vesper Finance ๐Ÿ”จ
Yield Yak ๐Ÿ”จ
Yearn v2 ๐Ÿ›  1.2.0 / 1.0.0 / 1.0.0 Yearn V2 Ethereum Yearn V2 Arbitrum Yearn V2 Fantom

โ€  Versions are schema version, subgraph version, methodology version respectively

About

Standardized subgraphs for blockchain data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.0%
  • Python 2.2%
  • JavaScript 0.4%
  • Mustache 0.3%
  • HTML 0.1%
  • Dockerfile 0.0%
โšก