GraphOps showcased GraphSeer, an application with on-chain and off-chain data, covering indexing performance and protocol metrics, while Edge & Node discussed the completion of Sunray, the first phase of the decentralized data Sunrise.
opening remarks
Hello everyone, and welcome to the latest edition of Indexer Office Hours! March 26, Session 150.
Video link: https://youtu.be/wkgGPRErDlE
GRTiQ 161
Listen to this week’s GRTiQ Podcast featuring Kirsten Pomales, co-founder of TalentLayer, an innovative open protocol and developer toolkit revolutionizing the services market.
Content review
Latest updates to important repositories
Execution layer client
Erigon v2.0 new version v2.59.0:
More aggressive pruning of logs and receipts (for nodes with r in the pruning flag, e.g., –prune=hrtc), thus reducing the disk footprint by a factor of 2. This feature is only enabled for new nodes. Existing nodes enable it, you must resync it from scratch.
The transaction lookup by hash touched too many places in the snapshot. It caused high IO and PageCache evictions. It will help a lot for this use case if you have a lot of RPC requests. Get it: rm datdir/snapshots/*.idx and restart Erigon.
Caplin users need to reset headers and snapshots.
Geth new version v1.13.14:
Geth v1.13.14 is a minor maintenance release with some polish to the blob pool. This release is not critical for the Cancun branch, but is recommended to make Geth lighter to cope with unknown blob loads.
sfeth/fireeth: new version:
v2.3.6 version:
BlockFetcher: Added support for WithdrawalsRoot, BlobGasUsed, BlobExcessGas, and ParentBeaconRoot fields when fetching blocks from RPC (e.g., to get these values for Optimism).
Substreams: Added support for the substreams-tier2-max-concurrent-requests flag to limit the number of concurrent requests to tier2.
Added traceID for RPC.
v2.3.7 version:
Fixed tool checking default range for merged blocks when r <range> is not provided which is now [0, +∞] (previously [HEAD, +∞]).
The fix tool checks for merge blocks in order to run without a block range provided.
Added API key based authentication to tools firehose-client and tools firehose-single-block-client to specify a value via the environment variable FIREHOSE_API_KEY (you can use the flag -api-key-env-var to change the name of the variable to other than FIREHOSE_API_KEY).
Fixed tool checking merge block examples using block range (range should be specified as [<start>]?:[<end>]).
Added -substreams-tier2-max-concurrent-requests to limit the number of concurrent requests to the tier2 Substreams service.
Avalanche: New version v1.11.3:
Removed APIs:
Platform GetPendingValidators
Platform GetMaxStakeAmount
Removed avalanchego configuration:
network-peer-list-validator-gossip-size
network-peer-list-non-validator-gossip-size
network-peer-list-peers-gossip-size
network-peer-list-gossip-frequency
consensus-accepted-frontier-gossip-validator-size
consensus-accepted-frontier-gossip-non-validator-size
consensus-accepted-frontier-gossip-peer-size
consensus-on-accept-gossip-validator-size
consensus-on-accept-gossip-non-validator-size
consensus-on-accept-gossip-peer-size
Added P chain, X chain and C chain configuration:
push-gossip-percent-stake
Graph orchestration tool
Join us every other Wednesday at 5pm UTC for our Launchpad online meeting time to get the latest updates on running Launchpad.
The next one is April 10th. Bring all your questions!
Blockchain Operator Upgrade Calendar
The Blockchain Operator Upgrade Calendar is your one-stop solution for tracking hard fork updates and maintenance schedules for various protocols in The Graph ecosystem.
Simplify the upgrade process and never miss a deadline again.
protocol observation
Latest updates on important changes to the protocol
Forum Research
Subgraph synchronization is slow
Contract repository
chore: deploy SAO data edge to testnet#964(open)
chore: Add DataEdge contract#963(merged)
Open discussion
GraphSeer Session
Sahra from GraphOps shared an update on a product they have been developing called GraphSeer.
She defines GraphSeer as a Graph protocol browser. It is an application that includes on-chain and off-chain data and analysis on index performance and protocol metrics and parameters.
picture
💡 Visit GraphSeer: http://beta.graphseer.com/
Username: thegraph
Password: graphops
These credentials are for testing only.
GraphSeer will evolve with your feedback, so please use this form to share your feedback to help them improve.
Why did we build GraphSeer?
As core developers, we are developing tools to provide blockchain data to users, such as subgraphs and subflows. Then, as indexers, we use these tools to serve data to end users, and we thought that by building GraphSeer to be the end users, we could understand the users better.
Understand our end users, become better core developers and better indexers.
Understand and let others know about the quality of service of indexing operations.
Provide users in The Graph ecosystem with compelling applications to understand the market.
💡Watch the full video and watch a live demonstration.
GraphSeer Development Timeline
Telephone feedback
It can be useful to display an indexing progress bar in the explorer. I like to check if the subgraph can be indexed by others before assigning it.
Fuzzy search in indexer list. Now you have to know who you are looking for and page to them.
Re: index status, if you can also provide when they start allocation. Now I have to go back to their open assignments page.
For the health of the network and the future of The Graph, we want to let delegates and indexers focus on queries. Glad to see you have some new indicators.
This will allow you to copy IPFShash without clicking on it.
I think it would be nice to have some standardized numbers on latency and success rates. Otherwise, an indexer that doesn't handle heavy subgraphs would look to do better in terms of overall statistics.
Feature request: Highlight rejected subgraphs, subflows, etc.
Average Blocks Behind is not very useful. If you accept a new subplot, or one subplot fails, it distorts the graph and doesn't really provide value.
These metrics are not very useful on a global scale, but on a per-network and per-subgraph basis.
Feature request: Use an icon similar to Subgraph Radio to show which indexers are zombies.
Controversy and the 0xdeadbeef button.
The latency of each subgraph can be very different.
An average over a period is a good thing and should be the focus. The current APR is useful for the indexer to check whether its reallocation was successful.
It's also convenient to see which networks the indexer supports.
Rank indexers absolutely by query cost, but include supported networks as visible data.
As a delegator, it would be cool for GraphSeer to be able to make predictions based on historical APY. The delegator’s expectations for rewards for the delegated amount. For example, if I delegate 100k GRT, I can expect 1k rewards every month.
Sunray phase of Graph completed
Adam from Edge & Node joins to give an update on decentralized data Sunrise.
Tweet link: https://x.com/graphprotocol/status/1772655292934705371?s=20
Adam explained that Sunray is part of Sunrise, a decentralized data chain. This is the first of three phases where they have been adding features to Subgraph Studio and building indexes on the network. The goal is to provide developers with a simplified experience to upgrade their subgraphs from a hosted service to the network.
There are a few different things to point out here. Some were released a while ago, some were released within the last week or weeks, both in terms of upgrading indexers and the availability of all hosting service chains queried on the network. Developers have a free query plan so The Graph Network can support more chains for querying in a more streamlined way.
Credit card payments will be supported, so people can connect a credit card to pay for queries without touching GRT, ETH or AETH. So again, this is just trying to simplify things, and at the end of the day, there's a simplified upgrade process for subgraphs from a hosting service to a studio, and you can select your subgraphs, determine which wallets you want to have those subgraphs on the network. And then there's an automated publishing and transfer process that publishes subgraphs and then transfers them to your designated wallet, so we're just trying to remove friction and simplify the user experience.
(For related links in the article, please follow Pinax’s official account)