Skip to content
This repository has been archived by the owner on Mar 9, 2023. It is now read-only.

Technical indexer documentation and infrastructure templates for the Mission Control testnet

Notifications You must be signed in to change notification settings

graphprotocol/mission-control-indexer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

Past Phases

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:

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

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

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 to graph-indexer-service, or
    • Set the INDEXER_SERVICE_ETHEREUM_NETWORK=mainnet in the environment.
  • Also, set --network-subgraph-endpoint or INDEXER_SERVICE_NETWORK_SUBGRAPH_ENDPOINT to https://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 or INDEXER_SERVICE_INDEXER_ADDRESS.
    • Pass the operator mnemonic in via --mnemonic or INDEXER_SERVICE_MNEMONIC.

Indexer Agent

Release Details

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 to graph-indexer-agent, or
    • Set the INDEXER_AGENT_ETHEREUM_NETWORK=mainnet in the environment.
  • Also, set --network-subgraph-endpoint or INDEXER_AGENT_NETWORK_SUBGRAPH_ENDPOINT to https://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 or INDEXER_AGENT_INDEXER_ADDRESS.
    • Pass the operator mnemonic in via --mnemonic or INDEXER_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

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.

About

Technical indexer documentation and infrastructure templates for the Mission Control testnet

Resources

Stars

Watchers

Forks

Packages

No packages published