The Graph Indexer Office Hours #150

Events By Mar 28, 2024 1 Comment
TL;DR: GraphOps presents GraphSeer, an application with on-chain and off-chain data on indexing performance and protocol metrics, while Edge & Node discusses the completion of Sunray, the first phase of the Sunrise of decentralized data.

Opening remarks

Hello everyone, and welcome to the latest edition of Indexer Office Hours! Today is March 26, and we’re here for episode 150.

GRTiQ 161

Listen to this week’s GRTiQ Podcast with Kirsten Pomales, co-founder of TalentLayer, an innovative open protocol and developer toolkit revolutionizing service marketplaces.

Repo watch

The latest updates to important repositories

Execution Layer Clients

  • Erigon v2.0 New release v2.59.0 :
    • More aggressive pruning of logs and receipts (for nodes with r in their pruning flag, e.g., –prune=hrtc), resulting in a 2x smaller disk footprint. This feature is only enabled for new nodes. To enable it for an existing node, you have to re-sync it from scratch.
    • Transaction lookup by hash touched too many places in snapshots. It caused high IO and PageCache evictions. If you have many RPC requests, it will greatly help for this use case. To get it: rm datdir/snapshots/*.idx and restart Erigon.
    • Caplin users need to reset the headers and snapshots.
  • Geth New release v1.13.14 :
    • Geth v1.13.14 is a small maintenance release with a few polishes to the blob pool. This release is NOT critical for the Cancun fork, but recommended to make Geth lighter in anticipation of unknown blob load.
  • sfeth/fireeth: New releases:
    • v2.3.6 :
      • BlockFetcher: added support for WithdrawalsRoot, BlobGasUsed, BlobExcessGas and ParentBeaconRoot fields when fetching blocks from RPC (for example, to get those values for Optimism).
      • Substreams: added support for substreams-tier2-max-concurrent-requests flag to limit the number of concurrent requests to tier2.
      • Added traceID for RPCs.
    • v2.3.7 :
      • Fixed tools check merged-blocks default range when r <range> is not provided to now be [0, +∞] (was previously [HEAD, +∞]).
      • Fixed tools check merged-blocks to be able to run without a block range provided.
      • Added API key-based authentication to tools firehose-client and tools firehose-single-block-client, to specify the value through environment variable FIREHOSE_API_KEY (you can use flag -api-key-env-var to change variable’s name to something else than FIREHOSE_API_KEY).
      • Fixed tools check merged-blocks 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 release v1.11.3 :
    • Removed APIs:
      • platform.GetPendingValidators
      • platform.GetMaxStakeAmount
    • Removed avalanchego configs:
      • 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 configs:
      • push-gossip-percent-stake

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 April 10. 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.

Add to your calendar!

Protocol watch

The latest updates on important changes to the protocol

Forum Research

Contracts Repository

Open discussion

GraphSeer session

Sahra from GraphOps shared an update on one of the products they have been working on called GraphSeer.

She defined GraphSeer as a Graph protocol explorer. It’s an application that includes both on-chain and off-chain data and analytics on indexing performance, and protocol metrics and parameters.

A screenshot from the GraphSeer presentation that shows the home page.
💡 Visit GraphSeer: http://beta.graphseer.com/
     Username: thegraph
     Password: graphops
Use these credentials for testing only.

GraphSeer will evolve with your feedback, so please share your feedback using this form to help them improve.

Why are we building GraphSeer?

As core developers, we’re working on tools that provide blockchain data to users, like subgraphs and Substreams. Then, as indexers, we use these tools to serve the data to the end user, and we thought that by becoming the end user by building GraphSeer, we would better understand the users.

  • To understand our end users and become a better core developer and a better indexer.
  • To understand and let others understand the quality of service of indexing operations.
  • To provide a compelling app for users in The Graph ecosystem to understand the marketplace.
💡 Watch the full recording to see a live demo.

GraphSeer development timeline

A timeline of GraphSeer development, showing features as they will be added.

Feedback from call

  • Showing the indexing progress bar from Explorer would be useful. I like to check if the subgraph is indexable by others before allocating.
  • Fuzzy search within the indexers list. Now you have to know who you’re looking for, and page through to them.
  • Re: Indexing Status, if you can also provide when they started allocating to it. Now I have to go back through to their open allocation page.
  • For the health of the network and the future of The Graph we want to get delegators and indexers focusing on queries. Great to see that you have some new metrics on this already.
  • Make it so you can copy the IPFShash without clicking into it.
  • I think it would be good to have some normalized numbers on latency and success rate. Otherwise indexers that aren’t handling heavy subgraphs will look like they’re doing much better in their overall stats.
  • Feature request: highlight denied subgraphs, Substreams, and so on.
  • Average Blocks Behind isn’t very useful. If you take on a new subgraph, or a subgraph fails, it skews that chart and doesn’t provide value really.
  • These metrics are not super useful on a global basis, but would be on a per-network and per-subgraph basis.
  • Feature request: show which indexers are zombies with an icon similar to Subgraph Radio.
    • Dispute and 0xdeadbeef buttons.
  • Latency can be very different for each subgraph.
  • Average on a period is a great thing, and it should be in focus. Current APR is useful for indexers to check if their reallocation was successful or not.
  • It could be handy to also see which networks the indexer supports.
  • Definitely rank indexers by query fees, but include supported networks as a visible datum.
  • As delegator – it would be cool for GraphSeer to have the ability to put in projection based on historical APY. What a delegator would/could expect in rewards for amount delegated. For example, if I delegate 100k GRT, I could expect 1k rewards per month.

The Graph’s Sunray phase complete

Adam from Edge & Node joined to give an update on the Sunrise of decentralized data.

Adam explained that Sunray is part of the Sunrise of decentralized data. It is the first phase of three, where they’ve been adding functionality to Subgraph Studio, and the indexing setup on the network. The goal is to provide a streamlined experience for developers upgrading their subgraphs from the hosted service to the network.

There are a few different things to call out here. Some were shipped a while ago, and some have been shipped just in the last week or a couple of weeks, whether that’s in terms of the upgrade indexer or the availability of all hosted service chains for querying on the network. There’s a free query plan for developers, so The Graph Network can support more chains for querying in a much more streamlined way.

Credit card payments will be supported, so folks can connect a card to pay for queries without having to touch GRT, ETH, or AETH. So again, that’s just trying to simplify things, and then finally, there’s a streamlined upgrade flow for subgraphs going from the hosted service to the Studio, a way you can select your subgraphs, identify which wallet you want to own those subgraphs on the network. Then there’s an automatic publish and transfer process that publishes subgraphs and then transfers them to the wallet you specify, so we’re just really trying to remove friction and streamline that user experience.

Author

A passionate, highly organized, innovative Open source Technical Documentation Engineer with 4+ years of experience crafting internal and user-facing support/learning documentation. Leverages a background in computer science to write for highly technical audiences and API docs and is the leader of the technical writing mentorship program.

1 Comment

  1. Wisdom Nwokocha says:

    I enjoyed this session.

Leave a comment

Your email address will not be published. Required fields are marked *