Skip to content

Commit

Permalink
docs/networks: Add network config docs for Sepolia and Arbitrum Sepolia
Browse files Browse the repository at this point in the history
Leaving the Goerli and Arbitrum Goerli network configs for now, will
remove after the migration to Sepolia
  • Loading branch information
fordN committed Nov 14, 2023
1 parent 3743257 commit 3e27ddd
Show file tree
Hide file tree
Showing 2 changed files with 226 additions and 0 deletions.
113 changes: 113 additions & 0 deletions docs/networks/arbitrum-sepolia.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# Testnet Configuration

The Graph Network's testnet is on Arbitrum Sepolia (eip155:421614). Sepolia network information can be found at https://testnet.thegraph.com/explorer?chain=arbitrum-sepolia.

## Latest Releases

| Component | Release |
| --------------- | ------------------------------------------------------------------------------- |
| contracts | [5.3.3](https://github.com/graphprotocol/contracts/releases/tag/v5.3.3) |
| indexer-agent | [0.20.22](https://github.com/graphprotocol/indexer/releases/tag/v0.20.22) |
| indexer-cli | [0.20.22](https://github.com/graphprotocol/indexer/releases/tag/v0.20.22) |
| indexer-service | [0.20.22](https://github.com/graphprotocol/indexer/releases/tag/v0.20.22) |
| graph-node | [v0.33.0](https://github.com/graphprotocol/graph-node/releases/tag/v0.33.0) |

## Network Parameters

| Parameter | Value |
| --------------------------- | ----------------- |
| Epoch length | ~ 2h (554 blocks) |
| Maximum allocation lifetime | ~ 9h (4 epochs) |

## Contracts & accounts

| Name | Address |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| Graph Token (GRT ) | [`0xf8c05dCF59E8B28BFD5eed176C562bEbcfc7Ac04`](https://sepolia.etherscan.io/address/0xf8c05dCF59E8B28BFD5eed176C562bEbcfc7Ac04) |
| Staking | [`0x865365C425f3A593Ffe698D9c4E6707D14d51e08`](https://sepolia.etherscan.io/address/0x865365C425f3A593Ffe698D9c4E6707D14d51e08) |


[comment]: <> (TODO: CHECK THESE)
| Data Edge | [`0xEFC8D47673777b899f2FB597C6FC0E87ecce98Cb`](https://sepolia.etherscan.io/address/0xEFC8D47673777b899f2FB597C6FC0E87ecce98Cb) |
| Block Oracle Owner | [`0xC9d59d6D2D43105357a1D9C15244751A4517f42C`](https://sepolia.etherscan.io/address/0xfA711DA0f9336f27E7B7483398cbd8F0880f259a) |

Other network contracts can be found in [graphprotocol/contracts](https://github.com/graphprotocol/contracts/blob/main/addresses.json#L1220-L1425).

## Configuration

The Graph testnet contracts live on Arbitrum Sepolia, but many of the subgraphs used in the
testnet (for now) are Mainnet subgraphs. This means:

- Indexer Agent and Indexer Service must connect to Arbitrum Sepolia
- Graph Node must connect to at least one Mainnet Ethereum node/provider

### Indexer Agent

| Environment Variable | CLI Argument | Value |
| ------------------------------------------- | ------------------------------- | --------------------------------------------------------------------------------- |
| `INDEXER_AGENT_ETHEREUM` | `--ethereum` | An Arbitrum Sepolia node/provider |
| `INDEXER_AGENT_ETHEREUM_NETWORK` | `--ethereum-network` | `arbitrum-sepolia` |
| `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` | `QmTZD8x7assVzfqwar67TQWaSPnVsTXRFbMLZeZTVhx3qR` |
| `INDEXER_AGENT_NETWORK_SUBGRAPH_ENDPOINT` | `--network-subgraph-endpoint` | `https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-arbitrum-sepolia` |
| `INDEXER_AGENT_DAI_CONTRACT` | `--dai-contract` | `0x9e7e607afd22906f7da6f1ec8f432d6f244278be` (GDAI) |
| `INDEXER_AGENT_COLLECT_RECEIPTS_ENDPOINT` | `--collect-receipts-endpoint` | `https://gateway-arbitrum.testnet.thegraph.com/collect-receipts` |
| `INDEXER_AGENT_EPOCH_SUBGRAPH_ENDPOINT` | `--epoch-subgraph-endpoint` | `https://api.thegraph.com/subgraphs/name/graphprotocol/arbitrum-sepolia-epoch-block-oracle`|

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.

| Environment Variable | CLI Argument | Value |
| -------------------------------------------- | --------------------------------- | ----------------------------------------------------------------------------------------- |
| `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

| Environment Variable | CLI Argument | Value |
| --------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------- |
| `INDEXER_SERVICE_ETHEREUM` | `--ethereum` | An Arbitrum Sepolia node/provider |
| `INDEXER_SERVICE_ETHEREUM_NETWORK` | `--ethereum-network` | `arbitrum-sepolia` |
| `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` | `QmTZD8x7assVzfqwar67TQWaSPnVsTXRFbMLZeZTVhx3qR` |
| `INDEXER_SERVICE_NETWORK_SUBGRAPH_ENDPOINT` | `--network-subgraph-endpoint` | `https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-arbitrum-sepolia` |
| `INDEXER_SERVICE_CLIENT_SIGNER_ADDRESS` | `--client-signer-address` | `0xe1EC4339019eC9628438F8755f847e3023e4ff9c` |

### Graph Node

| Environment Variable | CLI Argument | Value |
| -------------------- | ---------------- | ----------------------------------- |
| `ethereum` | `--ethereum-rpc` | `arbitrum-sepolia:...` |
| `ipfs` | `--ipfs` | `https://ipfs.network.thegraph.com` |

## Feature support

> This defines indexing & querying features which are experimental or not fully supported for indexing & query rewards and arbitration ([read more](../feature-support-matrix.md)).
| Subgraph Feature | Aliases | Implemented | Experimental | Query Arbitration | Indexing Arbitration | Indexing Rewards |
|--------------------------|------------------|-------------|--------------|-------------------|----------------------|------------------|
| **Core Features** | | | | | | |
| Full-text Search | | Yes | No | No | Yes | Yes |
| Non-Fatal Errors | | Yes | Yes | Yes | Yes | Yes |
| Grafting | | Yes | Yes | Yes | Yes | Yes |
| **Data Source Types** | | | | | | |
| eip155:* | * | Yes | No | No | No | No |
| eip155:1 | mainnet | Yes | No | Yes | Yes | Yes |
| eip155:100 | gnosis | Yes | No | Yes | Yes | Yes |
| near:* | * | Yes | Yes | No | No | No |
| cosmos:* | * | Yes | Yes | No | No | No |
| arweave:* | * | Yes | Yes | No | No | No |
| eip155:42161 | arbitrum-one | Yes | Yes | Yes | Yes | Yes |
| eip155:42220 | celo | Yes | Yes | Yes | Yes | Yes |
| eip155:43114 | avalanche | Yes | Yes | Yes | Yes | Yes |
| **Data Source Features** | | | | | | |
| ipfs.cat in mappings | | Yes | Yes | No | No | No |
| ENS | | Yes | Yes | No | No | No |
| File data sources: IPFS | | Yes | Yes | No | Yes | Yes |
| eip155:11155111 | sepolia | Yes | Yes | No | Yes | Yes |
| eip155:421614 | arbitrum-sepolia | Yes | Yes | No | Yes | Yes |
Loading

0 comments on commit 3e27ddd

Please sign in to comment.