Design before you build. This is the exercise that saves the most time later, and it requires no code.
Design one real integration
- Write down, in one sentence, the question your application needs answered from chain data.
- Run it through the decision order. Say which service you land on and why the layer above it does not suffice.
- If the answer is a subgraph: list your entities and, for each, say what its ID is and why that ID is stable across every event that touches it.
- Write the GraphQL query your most important screen will make. Check that your schema actually supports it.
- Identify the contracts you will watch. Check whether any is a proxy, and note what happens to your mapping if it is upgraded.
- Estimate how much history you need and be honest about whether a handler loop can cover it in acceptable time.
- Budget the curation signal you will post so that somebody actually indexes it.
- Write down what your application does when a query returns empty, distinguishing no data from not indexed yet from broken.
Then build it
Where next
- Making sure somebody actually indexes your work: curator.
- What the operators serving your subgraph are dealing with: indexer.
- Getting an endpoint into production and paying for it: app builders.