Technical indexer documentation and infrastructure templates for the Mission Control testnet.
For support, please join the #indexers
channel on our
Discord. The Graph team will be happy to
assist you in getting set up.
- FAQ
- Community Wiki (please edit responsibly!)
- Guides
We have all been eagerly waiting for this moment. It is here now: The Graph Network has launched!
In order to upgrade from the testnet to mainnet, please follow the guide
below. Let us know on Discord in the
#indexers
channel if you have any problems or questions.
Note: We will be open sourcing the indexer repository and its dependencies in the coming days. At that point there will be a new release. From then on, we will implement a more rigorous release process.
The following releases are required for mainnet:
- graph-node 0.20.0
- indexer-service 0.9.0-alpha.2
- indexer-agent 0.9.0-alpha.2
- indexer-cli 0.9.0-alpha.2
There is a new canonical IPFS node for The Graph Network:
Before you can upgrade, you need to stake and add an operator using the tokken lock contract. This is described in this guide.
- Docker image:
graphprotocol/graph-node:v0.20.0
- Git tag: v0.20.0
- Release notes: v0.20.0
-
This release disables support for IPFS and fulltext search, two non-deterministic features that could lead to inconsistent indexing results (proof of indexing) and, consequently, slashing.
-
Configure your nodes to point to the new canonical IPFS node for The Graph Network: https://ipfs.network.thegraph.com. NOTE: No trailing slash!
-
An Ethereum node that supports EIP-1898 is required to avoid unpredictable subgraph failures, inconsistent indexing results (proof of indexing) and, consequently, slashing.
- Docker image:
graphprotocol/indexer-service:sha-4d50de5
- NPM package:
@graphprotocol/[email protected]
- Git tag: v0.9.0-alpha.2
-
This is primarily an upgrade to add support for the mainnet contracts.
-
Start from a fresh database, don't mix testnet and mainnet infrastructure.
-
In order to run against mainnet, either
- Pass
--ethereum-network mainnet
tograph-indexer-service
, or - Set the
INDEXER_SERVICE_ETHEREUM_NETWORK=mainnet
in the environment.
- Pass
-
Also, set
--network-subgraph-endpoint
orINDEXER_SERVICE_NETWORK_SUBGRAPH_ENDPOINT
tohttps://gateway.network.thegraph.com/network
. -
As before, make sure to secure your indexer by using different indexer and operator keys in the protocol:
- The indexer is the account that stakes and sets the operator.
- The operator is the account that runs the indexer infrastructure.
When setting up your indexer, make sure to:
- Pass the token lock contract address (note: not the indexer address) in
via
--indexer-address
orINDEXER_SERVICE_INDEXER_ADDRESS
. - Pass the operator mnemonic in via
--mnemonic
orINDEXER_SERVICE_MNEMONIC
.
- Docker image:
graphprotocol/indexer-agent:sha-4d50de5
- NPM package:
@graphprotocol/[email protected]
- Git tag: v0.9.0-alpha.2
-
This is primarily an upgrade to add support for the mainnet contracts.
-
Start from a fresh database, don't mix testnet and mainnet infrastructure.
-
In order to run against mainnet, either
- Pass
--ethereum-network mainnet
tograph-indexer-agent
, or - Set the
INDEXER_AGENT_ETHEREUM_NETWORK=mainnet
in the environment.
- Pass
-
Also, set
--network-subgraph-endpoint
orINDEXER_AGENT_NETWORK_SUBGRAPH_ENDPOINT
tohttps://gateway.network.thegraph.com/network
. -
As before, make sure to secure your indexer by using different indexer and operator keys in the protocol:
- The indexer is the account that stakes and sets the operator.
- The operator is the account that runs the indexer infrastructure.
When setting up your indexer, make sure to:
- Pass the token lock contract address (note: not the indexer
address) in via
--indexer-address
orINDEXER_AGENT_INDEXER_ADDRESS
. - Pass the operator mnemonic in via
--mnemonic
orINDEXER_AGENT_MNEMONIC
.
-
The agent does not support a configurable ETH "rate" limit yet, so make sure not to fund your operator account with too much ETH.
- NPM package:
@graphprotocol/[email protected]
- Git tag: v0.9.0-alpha.2
- There are no changes in the indexer CLI, other than dependency updates.
- Open sourcing of the indexer repository and dependencies in the coming days.
- A gradual increase in mainnet subgraphs.
- A new, freshly set up testnet early next year.