mission-control-indexer
mission-control-indexer copied to clipboard
Technical indexer documentation and infrastructure templates for the Mission Control testnet
Mission Control: Indexer Material
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.
Workshops
- Indexer Workshop (August 4th) [Slides, Video]
Resources
- FAQ
- Community Wiki (please edit responsibly!)
- Guides
Past Phases
- Phase 0
- Phase 1
- Phase 2/3
Graph Network
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.
tl;dr
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:
- https://ipfs.network.thegraph.com
Using the Token Lock Contract
Before you can upgrade, you need to stake and add an operator using the tokken lock contract. This is described in this guide.
Graph Node
Release Details
- Docker image:
graphprotocol/graph-node:v0.20.0
- Git tag: v0.20.0
- Release notes: v0.20.0
Release Notes
-
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.
Indexer Service
Release Details
- Docker image:
graphprotocol/indexer-service:sha-4d50de5
- NPM package:
@graphprotocol/[email protected]
- Git tag: v0.9.0-alpha.2
Release Notes
-
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
.
Indexer Agent
Release Details
- Docker image:
graphprotocol/indexer-agent:sha-4d50de5
- NPM package:
@graphprotocol/[email protected]
- Git tag: v0.9.0-alpha.2
Release Notes
-
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.
Indexer CLI
Release Details
- NPM package:
@graphprotocol/[email protected]
- Git tag: v0.9.0-alpha.2
Release Notes
- There are no changes in the indexer CLI, other than dependency updates.
What to expect next?
- 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.