You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: pages/en/indexing/operating-graph-node.mdx
+7-3
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ This provides a contextual overview of Graph Node, and some of the more advanced
10
10
11
11
[Graph Node](https://github.com/graphprotocol/graph-node) is the reference implementation for indexing Subgraphs on The Graph Network, connecting to blockchain clients, indexing subgraphs and making indexed data available to query.
12
12
13
-
Graph Node (and the whole indexer stack) can be run on bare metal, or in a cloud environment. This flexibility of the central indexing component is crucial to the robustness of The Graph Protocol. Similarly, Graph Node can be [built from source](https://github.com/graphprotocol/graph-node), or indexers can use one of the [provided Docker Images](https://hub.docker.com/r/graphprotocol/graph-node). As well
13
+
Graph Node (and the whole indexer stack) can be run on bare metal, or in a cloud environment. This flexibility of the central indexing component is crucial to the robustness of The Graph Protocol. Similarly, Graph Node can be [built from source](https://github.com/graphprotocol/graph-node), or indexers can use one of the [provided Docker Images](https://hub.docker.com/r/graphprotocol/graph-node).
14
14
15
15
#### PostgreSQL database
16
16
@@ -150,6 +150,7 @@ Graph Node indexing can scale horizontally, running multiple instances of Graph
150
150
Given multiple Graph Nodes, it is necessary to manage deployment of new subgraphs so that the same subgraph isn't being indexed by two different nodes, which would lead to collisions. This can be done by using deployment rules, which can also specify which `shard` a subgraph's data should be stored in, if database sharding is being used. Deployment rules can match on the subgraph name and the network that the deployment is indexing in order to make a decision.
The Graph Protocol is increasing the number of networks supported for indexing rewards, and there exist many subgraphs indexing unsupported networks which an indexer would like to process. The `config.toml` file allows for expressive and flexible configuration of:
219
+
218
220
- Multiple networks
219
221
- Multiple providers per network (this can allow splitting of load across providers, and can also allow for configuration of full nodes as well as archive nodes, with Graph Node preferring cheaper providers if a given workload allows).
220
222
- Additional provider details, such as features, authentication and the type of provider (for experimental Firehose support)
@@ -283,13 +285,15 @@ The full schema is available [here](https://github.com/graphprotocol/graph-node/
283
285
### Indexing performance
284
286
285
287
There are three separate parts of the indexing process:
288
+
286
289
- Fetching events of interest from the provider
287
290
- Processing events in order with the appropriate handlers (this can involve calling the chain for state, and fetching data from the store)
288
291
- Writing the resulting data to the store
289
292
290
293
These stages are pipelined (i.e. they can be executed in parallel), but they are dependent on one another. Where subgraphs are slow to index, the underlying cause will depend on the specific subgraph.
291
294
292
295
Common causes of indexing slowness:
296
+
293
297
- Time taken to find relevant events from the chain (call handlers in particular can be slow, given the reliance on `trace_filter`)
294
298
- Making large numbers of `eth_calls` as part of handlers
295
299
- A large amount of store interaction during execution
@@ -322,8 +326,8 @@ If a block cache inconsistency is suspected, such as a tx receipt missing event:
322
326
323
327
1.`graphman chain list` to find the chain name.
324
328
2.`graphman chain check-blocks <CHAIN> by-number <NUMBER>` will check if the cached block matches the provider, and deletes the block from the cache if it doesn’t.
325
-
1. If there is a difference, it may be safer to truncate the whole cache with `graphman chain truncate <CHAIN>`.
326
-
2. If the block matches the provider, then the issue can be debugged directly against the provider.
329
+
1. If there is a difference, it may be safer to truncate the whole cache with `graphman chain truncate <CHAIN>`.
330
+
2. If the block matches the provider, then the issue can be debugged directly against the provider.
Copy file name to clipboardExpand all lines: pages/en/network-transition-faq.mdx
+1-1
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Developers will have plenty of time to migrate their subgraphs to the decentrali
6
6
7
7
Each chain on the hosted service, including Ethereum, will sunset gradually as it is supported on the decentralized network to achieve feature parity and a high quality of service. This will happen on a chain-to-chain basis with help from Indexers in the [MIPs program](https://thegraph.com/blog/mips-multi-chain-indexing-incentivized-program/), to enable full support for each chain on the decentralized network.
8
8
9
-
To add more clarity around continued support for each chain on the hosted service, these FAQs answer common questions regarding the specifics of the network transition process. If you would like to start the subgraph migration process now, here is a [step-by-step guide](https://thegraph.com/blog/how-to-migrate-ethereum-subgraph). To skip to the migration FAQ, [click here](#migration-fa-qs-answers-to-common-questions).
9
+
To add more clarity around continued support for each chain on the hosted service, these FAQs answer common questions regarding the specifics of the network transition process. If you would like to start the subgraph migration process now, here is a [step-by-step guide](https://thegraph.com/blog/how-to-migrate-ethereum-subgraph). To skip to the migration FAQ, [click here](#migration-faqs).
0 commit comments