Other Supported Cosmos Zones
Other Supported Cosmos Zones
Although we only list quick start guides for select Cosmos zones - SubQuery has been tested to support most zones that that use CosmWasm, Tendermint, or Ethermint. You can quickly initialise a new project in any supported network using the subql init
command:
CosmWasm Projects:
- Axelar
- COMDEX (Quick start video)
- CosmosHub
- Evmos (Quick start video)
- Fetch.ai (Quick start video)
- Injective (Quick start video)
- Juno
- Kava (Quick start video)
- Osmosis (Quick start video)
- Persistence (Quick start video)
- Stargaze
- Thorchain
- And more...
Ethermint Projects:
View the full list of tested projects in the cosmos-subql-starter repository.
Can SubQuery Support your Cosmos Zone
SubQuery Supports most Cosmos Zones
We're confident that SubQuery can support all CosmWasm or Ethermint based Cosmos Zones!
If your (or anyone else's Cosmos zone) needs indexing support, we're pretty confident that SubQuery will work off the shelf with it! Reach out to us on Discord or at hello@subquery.network and we can help out, or continue with the steps below.
Before you start, you will need:
- Access to a RPC node to index from
- Any protobuf files that are required for the network (these end in
.proto
). For example, you can find Osmosis' protobuf definitions here - It's helpful to have a block explorer to see what you are trying to index first, Mintscan is a popular Cosmos explorer.
1. Clone an existing starter project
Clone a project from: https://github.com/subquery/cosmos-subql-starter to start with some standard boilerplate (it might be easiest to just fork that repo and copy an existing one that is most like your chain).
2. Update project.ts & package.json file
In the package.json
, you will want to update the name
and description
.
The majority of changes occur in the project manifest (project.ts
). This include the following:
name
description
network.chainId
: This will be the network identifier of the Cosmos Zone chainId. You can often search for this in https://github.com/cosmos/chain-registry.network.endpoint
: This defines the (HTTP or WSS) endpoint of the blockchain to be indexed - this must be a full archive node. This property can be a string or an array of strings (e.g.endpoint: ['rpc1.endpoint.com', 'rpc2.endpoint.com']
). Read more in Network Spec.network.dictionary
: Unless you have already created a dictionary, please comment out or remove this.network.chainTypes
: Please see the docs under Chain Types.
We suggest adding one or two chain types that relate to the events or messages that you are trying to index, and recursively add more after running it and observing errors from missing protobuf definitions
3. Update Readme
Update the README file with a description and a sample GraphQL query of your project
4. Contribute back to our starter projects
Please contribute your new chain back to our example projects by making a PR back to https://github.com/subquery/cosmos-subql-starter.
We really appreciate it, and will absolutely give you a shout out for your effort on social media to our community!
What's next?
Congratulations! You have now a locally running SubQuery project that accepts GraphQL API requests for transferring data.
Tip
Find out how to build a performant SubQuery project and avoid common mistakes in Project Optimisation.
Click here to learn what should be your next step in your SubQuery journey.