Down the Rabbithole: Task to Signal on 2 unique subgraphs
===
###### tags: rabbithole
# The Task

You can check it out [here](https://app.rabbithole.gg/quests/become-a-graph-curator). Your goal is to signal on subgraphs built on The Graph.
>Total time taken: 1.5h
Total gas cost: $37.87
But you get... 125 GRT which is ~$70 now
# What is [The Graph?](https://thegraph.com/)
>The Graph is an indexing protocol for querying networks like Ethereum and IPFS. Anyone can build and publish open APIs, called subgraphs, making data easily accessible.
So imagine you're running a Defi protocol. To keep your app up to date can either:
1. Run a full node, maintain it, set it up, use energy, and sync data... then process it
2. Connect to infura API and sync data... then process it
3. Connect to a subgraph created on The Graph and use that data instead
But how?
1. A DApp interacts with Ethereum through a **transaction** using their smart contract.
1. When processing said transaction, an **event** is emitted (or more)
1. The Graph constantly **scans** ethereum for events relevant to you. This information is then **stored** in response to your **events**. Now it's usable!
1. Now the Dapp can just **query** this indexed information in the form of a GraphQL query (this really popular format) and make use of the **stored data indexing capabilities**.
# Signalling?
First, we need to talk about roles. To signal, you have to be a curator! The namesake of this task requires you to find subgraphs and 'signal' that you think they're good.
>They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through the Explorer, curators are able to view network data to make signalling decisions. The Graph Network rewards curators that signal on good quality subgraphs with a share of the query fees that subgraphs generate.
But how do you know if it's good? That was what took a large part of my 1.5h

*this didn't really help*
You can [view all the subgraphs](https://thegraph.com/explorer) you can signal on quite easily. Problem is, how do you pick a good one?
When you read the [Bonding curve](https://thegraph.com/docs/curating#bonding-curve-101) for curators, you realise what you care about is:
1. Signal
2. Query fees
3. Most importantly, is this a legit graph
So let's address this one by one
## Signal
You can easily see how much is being signalled. My take here is, you should leverage on what other curators have put in but don't just go in all the way to the top few signalled subgraphs. That's because looking at the bonding curve, you'll get very little shares of the returns. Those subgraphs are good, let's just leave them be.
## Query fees
**Query to signal ratio**
Now here's there it gets strange.
|Subgraph|Query fees (30D)|Signal|query/signal
-|-|-|-
Pooltogether | 1.6k | 221K | 0.0072
Livepeer | 4.4k | 288K | 0.0152
UMA mainnet voting | 3.9K | 203K |0.0192
DODOEX V2 | 1.8K | 153K |0.0117
RAI mainnet | 2.1K for v1.0.0, v.1.0.1 don't have | 150K | ???
Audius Network Mainnet | 1.9 | 148K | ???
Opyn Gamma Mainnet | 1.7K | 146K | 0.0116
mStable Protocol | 2K | 136K | 0.014
Enzyme Finance | 2K | 125K | 0.016
So it seems that query fees in general are a little low(?) I suppose that's because The Graph is quite new! I think when there's more uses people will query this graph more.
I just use a simple metric to try to estimate what's a better graph to signal on with a signal > 110K. Why 110k? I don't know I thought it seemed decent, as of now that's about 55k (28Jul21).
this means our top candidates are UMA mainnet voting, Enzyme Finance, Livepeer, and mStable protocol. What now?
**Query regularity**
My next consideration was the regularity of queries.
**UMA mainnet voting**

Big spike then not much
**Enzyme Finance**

Okay seems like you need to query it regularly
**Livepeer**

Seems very spiky too
**mStable protocol**

Okay also seems like need to query it regularly but a little bit spiky.
So I've decided to go with Enzyme and mStable.
## Is this a legit graph?
There's a [great article on this by jacksonhblau](https://www.yumpu.com/en/document/view/65777508/verifying-subgraphs-and-estimating-query-traffic-v2)
tldr
CSI the github repo, check that the project is real. think about what kind of project this is because if its a Defi project, it probably needs lots of data so signal on that.
# My Process
Ready? Let's go. I'll be using the transactions I've actually made as reference if you're curious.
1. First, make sure Metamask is set to ‘Ethereum Mainnet’ and you have enough ETH to cover all the transaction fees.
2. Add GRT token to Metamask bought 89 GRT (51USD) on [uniswap](https://etherscan.io/tx/0xa01708357640e33465b1e5f6953d96d25e89df40e6355f0b34ad79b17d28f64c) with gas fee of $18.33, 37 Gwei
Token Contract Address: 0xc944e90c64b2c07662a292be6244bdf05cda44a7
Token Symbol: GRT
Decimals of Precision: 18
8. Approved singalling on The Graph with [transaction](https://etherscan.io/tx/0xe85c52b041defd9c2a37005468c590b4ab23b8622884b39eccd85fbbb37eb299)
9. Signalled 50 GRT on [Enzyme](https://etherscan.io/tx/0x9faf99469c2bf2cc8e59184d0d00b8bf096057df400dd6b312361926ecb2f0f4) with gas of $10.90, 20 Gwei, and 39 GRT on [mStable](https://etherscan.io/tx/0x279fc68878553bf9f401ac6875f1fc4478f017c7ec70335aad7f8805932bfdb0) with gas of $8.64, 18 Gwei
10. Remember to redeem on the task and redeem on the quest! I almost forgot to redeem on the quest because I thought I was done... Rabbithole why you do this to me (just kidding)

10. Because I'm paranoid, best to check you're on the redeemer list!

11. Under the overview portion of The Graph, you can see your share valu

So that's it! Feel free to ping me for feedback, thank you for reading :)