Deploy an Indexer (Subgraph) on zkSync with The Graph
Step-by-step guide for deploying a subgraph on zkSync using The Graph for efficient blockchain data indexing and querying.
Setting up a subgraph on zkSync with Mobula’s infrastructure is an easy process. This tutorial will guide you through each step to get your subgraph operational on the zkSync network.
What you’ll need
- Basic knowledge of The Graph and subgraphs.
- Your subgraph project files
- The Graph CLI installed
- A Mobula API key (for authentication)
Walkthrough
Prepare Your Subgraph
Configure your subgraph for zkSync. Adjust your subgraph.yaml
file to reference zkSync-specific contracts and events. If you don’t have a subgraph yet, you can clone the Uniswap V2 (zkSwap) subgraph template and tailor it for zkSync:
git clone https://github.com/MobulaFi/univ2-subgraph-zksync
Install Dependencies
Make sure you have The Graph CLI installed:
npm install -g @graphprotocol/graph-cli
Build Your Subgraph
Compile your subgraph before deployment:
graph codegen && graph build
Create the Subgraph
Use the following command to deploy your subgraph:
graph create --node http://subgraph.mobula.io:8020
Deploy to Mobula's zkSync Node
Use the following command to deploy your subgraph:
graph deploy --node http://subgraph.mobula.io:8020 --ipfs http://subgraph.mobula.io:5001 --network zksync
Authenticate
When requested, input your Mobula API key for authentication. Check the authentication section for detailed instructions on obtaining and using your API key.
Monitor Deployment
After deployment, you’ll receive a URL to monitor your subgraph’s indexing progress and status.
Best Practices
- Ensure your subgraph is consistently updated to stay compatible with the latest zkSync network changes.
- Perform thorough testing on a testnet before deploying to the mainnet.
- Regularly monitor its performance and optimize queries for improved efficiency.
Troubleshooting
If you face issues during deployment:
- Review your
subgraph.yaml
file carefully. - Ensure the network name and Mobula node URLs are correct.
- Check that your API key is valid and has the appropriate permissions.
Need help? Our support team is here to assist with any questions or deployment difficulties.