Testnet
Last updated
Last updated
The Graph's testnet is used to help test new features, get familiar with running an Indexer or set up a testbed for an existing mainnet Indexer.
For mainnet:
Component | Release |
---|---|
For testnet:
Component | Release |
---|---|
The Graph Network mainnet is open for everyone to participate in as an indexer. The only requirement is a minimum stake of 100k GRT.
Indexer Agent
In order to avoid collecting or claiming query fees below a certain threshold (e.g. below the cost of the two transactions), the following configuration option can be used.
Indexer Service
Graph Node
In order to participate in the testnet, you'll need Goerli ETH and GRT. To be eligible for testnet GRT, you'll need to
join The Graph Discord,
get the @testnetindexer
role in the #roles
channel,
use the #testnet-goerli-faucet
channel to obtain testnet GRT.
Via Graph Explorer
The Graph Explorer provides an easy way to approve and stake your GRT as an indexer via a web GUI.
Navigate to the testnet explorer
Login with Metamask and select the Goerli
network
Navigate to your profile (click your address/avatar at top right)
Select the Indexing
tab and hit the Stake
button
Follow the directions on the staking screen to stake the desired amount
To approve your testnet GRT to be spent through the staking contract, first approve it in the GRT contract:
Afterwards, stake this amount:
Via Graph Explorer
Navigate to the testnet explorer
Login with Metamask and select the Goerli
network
Navigate to your settings page (click profile dropdown at top right and select ⚙️ Settings
)
Navigate to the Operators
settings (click Operators
button)
Click +
to add your operator wallet address
Follow instructions to submit transaction
The Graph testnet contracts live on Goerli, but many of the subgraphs used in the testnet (for now) are Mainnet subgraphs. This means:
Indexer Agent and Indexer Service must connect to Goerli
Graph Node must connect to at least one Mainnet Ethereum node/provider
Indexer Agent
In order to avoid collecting or claiming query fees below a certain threshold (e.g. below the cost of the two transactions), the following configuration option can be used.
Indexer Service
Graph Node
Parameter | Value |
---|---|
Contract | Address |
---|---|
Environment Variable | CLI Argument | Value |
---|---|---|
Environment Variable | CLI Argument | Value |
---|---|---|
Environment Variable | CLI Argument | Value |
---|---|---|
Environment Variable | CLI Argument | Value |
---|---|---|
Parameter | Value |
---|---|
Contract | Address |
---|---|
Environment Variable | CLI Argument | Value |
---|---|---|
Environment Variable | CLI Argument | Value |
---|---|---|
Environment Variable | CLI Argument | Value |
---|---|---|
Environment Variable | CLI Argument | Value |
---|---|---|
contracts
indexer-agent
indexer-cli
indexer-service
graph-node
contracts
indexer-agent
indexer-cli
indexer-service
graph-node
Epoch length
~ 24h
Maximum allocation lifetime
~ 28d
Graph Token (GRT)
Staking
INDEXER_AGENT_ETHEREUM
--ethereum
An Ethereum mainnet node/provider
INDEXER_AGENT_ETHEREUM_NETWORK
--ethereum-network
mainnet
INDEXER_AGENT_INDEXER_ADDRESS
--indexer-address
Ethereum address of mainnet indexer
INDEXER_AGENT_INDEXER_GEO_COORDINATES
--indexer-geo-coordinates
Geo coordinates of mainnet indexer infrastructure
INDEXER_AGENT_MNEMONIC
--mnemonic
Ethereum mnemonic for mainnet operator
INDEXER_AGENT_NETWORK_SUBGRAPH_DEPLOYMENT
--network-subgraph-deployment
QmTePWCvPedmVxAvPnDFmFVxxYNW73z6xisyKCL2xa5P6e
INDEXER_AGENT_NETWORK_SUBGRAPH_ENDPOINT
--network-subgraph-endpoint
https://gateway.thegraph.com/network
INDEXER_AGENT_DAI_CONTRACT
--dai-contract
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
(USDC)
INDEXER_AGENT_COLLECT_RECEIPTS_ENDPOINT
--collect-receipts-endpoint
https://gateway.network.thegraph.com/collect-receipts
INDEXER_AGENT_GAS_PRICE_MAX
--gas-price-max
50
INDEXER_AGENT_REBATE_CLAIM_THRESHOLD
--rebate-claim-threshold
Minimum rebate (in GRT) received for an allocation to claim (Default: 200)
INDEXER_AGENT_REBATE_CLAIM_BATCH_THRESHOLD
--rebate-claim-batch-threshold
Minimum total rebates (in GRT) before a batched claim is processed (Default: 2000)
INDEXER_AGENT_VOUCHER_EXPIRATION
--voucher-expiration
Time (in seconds) to permanently delete vouchers with too few query fees (Default: 2160)
INDEXER_SERVICE_ETHEREUM
--ethereum
An Ethereum mainnet node/provider
INDEXER_SERVICE_ETHEREUM_NETWORK
--ethereum-network
mainnet
INDEXER_SERVICE_INDEXER_ADDRESS
--indexer-address
Ethereum address of mainnet indexer
INDEXER_SERVICE_MNEMONIC
--mnemonic
Ethereum mnemonic for mainnet operator
INDEXER_SERVICE_NETWORK_SUBGRAPH_DEPLOYMENT
--network-subgraph-deployment
QmTePWCvPedmVxAvPnDFmFVxxYNW73z6xisyKCL2xa5P6e
INDEXER_SERVICE_NETWORK_SUBGRAPH_ENDPOINT
--network-subgraph-endpoint
https://gateway.thegraph.com/network
INDEXER_SERVICE_CLIENT_SIGNER_ADDRESS
--client-signer-address
0x982D10c56b8BBbD6e09048F5c5f01b43C65D5aE0
ethereum
--ethereum-rpc
mainnet:<ethereum-json-rpc-url>
ipfs
--ipfs
https://ipfs.network.thegraph.com
Epoch length
~ 4h
Maximum allocation lifetime
~ 1d
Graph Token (GRT)
Staking
INDEXER_AGENT_ETHEREUM
--ethereum
An Ethereum Goerli node/provider
INDEXER_AGENT_ETHEREUM_NETWORK
--ethereum-network
goerli
INDEXER_AGENT_INDEXER_ADDRESS
--indexer-address
Ethereum address of testnet indexer
INDEXER_AGENT_INDEXER_GEO_COORDINATES
--indexer-geo-coordinates
Geo coordinates of testnet indexer infrastructure
INDEXER_AGENT_MNEMONIC
--mnemonic
Ethereum mnemonic for testnet operator
INDEXER_AGENT_NETWORK_SUBGRAPH_DEPLOYMENT
--network-subgraph-deployment
QmNhsC5jwSvwgYFdjBrjcc2YW8o7Xmo2WNZUHDukfRvzD4
INDEXER_AGENT_NETWORK_SUBGRAPH_ENDPOINT
--network-subgraph-endpoint
https://gateway.testnet.thegraph.com/network
INDEXER_AGENT_DAI_CONTRACT
--dai-contract
0x9e7e607afd22906f7da6f1ec8f432d6f244278be
(GDAI)
INDEXER_AGENT_COLLECT_RECEIPTS_ENDPOINT
--collect-receipts-endpoint
https://gateway.testnet.thegraph.com/collect-receipts
INDEXER_AGENT_REBATE_CLAIM_THRESHOLD
--rebate-claim-threshold
Minimum rebate (in GRT) received for an allocation to claim (Default: 200)
INDEXER_AGENT_REBATE_CLAIM_BATCH_THRESHOLD
--rebate-claim-batch-threshold
Minimum total rebates (in GRT) before a batched claim is processed (Default: 2000)
INDEXER_AGENT_VOUCHER_EXPIRATION
--voucher-expiration
Time (in seconds) to permanently delete vouchers with too few query fees (Default: 2160)
INDEXER_SERVICE_ETHEREUM
--ethereum
An Ethereum Goerli node/provider
INDEXER_SERVICE_ETHEREUM_NETWORK
--ethereum-network
goerli
INDEXER_SERVICE_INDEXER_ADDRESS
--indexer-address
Ethereum address of testnet indexer
INDEXER_SERVICE_MNEMONIC
--mnemonic
Ethereum mnemonic for testnet operator
INDEXER_SERVICE_NETWORK_SUBGRAPH_DEPLOYMENT
--network-subgraph-deployment
QmNhsC5jwSvwgYFdjBrjcc2YW8o7Xmo2WNZUHDukfRvzD4
INDEXER_SERVICE_NETWORK_SUBGRAPH_ENDPOINT
--network-subgraph-endpoint
https://gateway.testnet.thegraph.com/network
INDEXER_SERVICE_CLIENT_SIGNER_ADDRESS
--client-signer-address
0xe1EC4339019eC9628438F8755f847e3023e4ff9c
ethereum
--ethereum-rpc
mainnet:...
ipfs
--ipfs
https://ipfs.network.thegraph.com