Skip to main content

Other Supported Cosmos Zones

SubQuery TeamAbout 2 min

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 networkopen in new window using the subql init command:

CosmWasm Projects:

Ethermint Projects:

View the full list of tested projects in the cosmos-subql-starter repositoryopen in new window.

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 hereopen in new window
  • It's helpful to have a block explorer to see what you are trying to index first, Mintscanopen in new window is a popular Cosmos explorer.

1. Clone an existing starter project

Clone a project from: https://github.com/subquery/cosmos-subql-starteropen in new window 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-starteropen in new window.

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.