TL;DR: The Graph’s core developers share insights on the indexer experience, including challenges like optimizing query performance, balancing data archival needs with pruning benefits, and understanding traffic flow across gateways. Read more about Graphcast, valuable metrics, and pruning options in this article.
Opening remarks
Hello and welcome back to Indexer Office Hours!
Today is January 9, and this is episode 139. We’re excited to be back for another year of discussing the most important and relevant topics for indexers.
Don’t miss the latest GRTiQ episode, The Best of 2023 (Part 1). Look back on the guests, insights, and stories from episodes 98–122.
Repo watch
The latest updates to important repositories
Execution Layer Clients
- Erigon v2.0 New releases:
- v2.56.1 :
- Add Amoy bootnodes.
- v2.56.0
- This release schedules Dencun for Görli (Jan. 17).
- v2.56.1 :
- sfgeth v2.0: No new releases – last:
- Geth: New releases: v1.13.8 :
- This is a hotfix release for a regression that affects v1.13.6 and v1.13.7: if the node is shut down during sync, the node will refuse to start, with the error message: Fatal: Failed to register the Ethereum service: waiting for sync .
- sfeth/fireeth: No new releases ( last v2.1.0 )
- Nethermind: New releases v1.25.0-rc.0:
- Goerli Dencun hard fork support
- New JSON-RPC methods:
- eth_getBlockReceipts that is based on the previous Parity implementation and gives an easier way to get all receipts for transactions within a specified block.
- debug_getRawBlock debug_getRawReceipts debug_getRawHeader debug_getRawTransaction These methods have been added to have a possibility to analyze encoded block/receipt/header/transaction.
- The debug_trace* JSON-RPC methods now support custom tracers written in JavaScript. This allows custom tracing logic and is in line with the Geth implementation.
- Avalanche: No new releases ( last v1.10.17 )
- NOTE: This version is backwards compatible with v1.10.0. It is optional but encouraged.
- Celo: No new releases ( last v1.8.0 )
- Arbitrum-nitro: New release
- v2.2.2 :
- This release fixes broken NodeInterface precompile methods, and a sequencer panic on shutdown if the sequencer coordinator is enabled but a backup sequencer isn’t available.
- v2.2.1 :
- This release fixes a database compaction issue affecting archive nodes, and fixes a memory leak in the relay.
- v2.2.2 :
- Arbitrum-classic: No new releases ( last v.1.4.5 )
- Heimdall: New release v1.0.3-amoy-2
Consensus Layer Clients
Information on the different clients
- Prysm: No new releases ( last v4.1.1 )
- This patch release includes two cherry-picked changes from the develop branch to resolve critical issues affecting a few users.
- Teku: No new releases ( last 23.12.1 )
- NOTE: This is an optional update containing a few fixes of bugs found on 23.12.0. It is a recommended upgrade only for users running 23.12.0.
- Nimbus: New releases:
- v24.1.0 :
- Nimbus v24.1.0 is a low-urgency upgrade bringing full support for the upcoming Cancun-Deneb hard fork on the Goerli testnet and introducing the /eth/v3/validator/blocks/{slot} Beacon API end-point that greatly simplifies the implementation of profit-optimising validator clients.
- v24.1.1 :
- Nimbus v24.1.1 is a hotfix addressing a problem introduced in the v24.1.0 release. Nimbus was crashing immediately after being connected to an execution layer node that is not fully synced. All users of v24.1.0 are advised to upgrade at their earliest convenience.
- v24.1.0 :
- Lighthouse: No new releases ( last v4.5.0 )
- NOTE: This is a low-priority release which primarily contains the Holesky re-launch configurations. Some minor features and fixes are also available for mainnet and testnet users.
Graph Stack
- Graph Node: No new releases ( last v0.33.0 )
- Indexer Service & Agent: No new releases ( last v0.20.23 )
- NOTE! The version of indexer components was bumped from v0.20.15 to v0.20.16, but no code has changed. The release notes are the same as before, just to encourage users to pick v16 over v15.
- POI-Radio: No new release ( last v0.4.0 )
- !!This repo has been archived in favor of Subgraph-radio.
- Subgraph-radio No new releases ( last 1.0.0 )
Graph Orchestration Tooling
Join us every other Wednesday at 5 pm UTC for Launchpad Office Hours and get the latest updates on running Launchpad.
The next one is on January 17. Bring all your questions!
Blockchains Operator Upgrade Calendar
The Blockchains Operator Upgrade Calendar is your one-stop solution for tracking hard fork updates and scheduled maintenance for various protocols within The Graph ecosystem.
Simplify your upgrade process and never miss a deadline again.
Protocol watch
The latest updates on important changes to the protocol
Forum Governance
The OP mainnet thread is being closed now that we have official protocol support. Thank you to Marine and the team for effective collaboration and ongoing support for indexers.
The current focus is on providing indexers with the necessary documentation for serving the Optimism mainnet, with significant advancements already made in this area.
An initial version of a GIP (Graph Improvement Proposal) has been implemented, as detailed in tmigone’s pull request #902.
This implementation will not distribute rewards when an allocation that is less than one epoch old is closed, even if the valid POI (Proof of Indexing) is provided.
This applies to cases involving subgraphs on Ethereum mainnet or Arbitrum One. The criteria for receiving rewards are:
- The allocation must be closed by the indexer or operator
- A valid POI must be presented at closure
- The allocation must be at least one epoch old
GIP-0060: Early allocation closure
Forum Research
Consensus is growing on the need for effective curation in The Graph ecosystem, with a shift in focus towards enhancing user experience and solving specific challenges.
Key considerations include identifying the problems curation should address, defining what good curation looks like in terms of user experience, and understanding its importance for the future of The Graph.
Forum post: Why do we need curation?
GraphOps Update: January 2024
Contracts Repository
Project watch
A detailed update from core developers on:
Answer a survey to help inform development plans and improve the GitHub Projects section of Indexer Experience
Open discussion
The discussion delved into challenges like optimizing query performance, balancing data archival needs with pruning benefits, and understanding traffic flow across gateways.
- Explored how Graphcast, a gossip protocol, can disseminate network knowledge for efficient resource allocation and query routing.
- The majority of queries focus on recent data, while time travel functionalities remain underutilized.
- Identifying valuable metrics to track query trends, gateway performance, and subgraph pruning activity.
- Utilizing indexing stats to build indices proactively based on anticipated query flow for optimal QoS.
- Ensuring historical data accessibility despite pruning by incentivizing “non-pruning” subgraphs to maintain a complete archive.
- Two pruning options exist: perpetually pruning at regular intervals or pruning to a specific block once.
- While pruning offers performance gains, it’s crucial to avoid losing vital historical data needed for certain queries.
- Many subgraph developers are unaware of time travel capabilities, limiting their pruning decisions.
- A potential workshop focusing on hardware solutions for The Graph is proposed, catering to Derek’s hardware expertise.
- Progress towards integrating Graphcast JS for front-end applications is underway, promising wider accessibility.
- The team actively seeks feedback for shaping future topics and improving The Graph ecosystem in 2024.
No Comments