GraphOps Update August 2023

:astronaut: Executive Summary

This month, GraphOps has shipped new releases across Graphcast SDK, Subgraph Radio and Launchpad. Subgraph Radio now enables Subgraph Developers to alert Indexers of their intent to upgrade a Subgraph, allowing Indexers to pre-sync the upgrade. We released the new Graphcast One-shot CLI to facilitate this. Launchpad V2 and Graphcast both had coverage in the last Core Developer Call, where V2 of Launchpad was released alongside updated documentation. We have also begun rewriting Indexer Service in Rust alongside Semiotic as part of the effort to integrate Scalar TAP into the Indexer stack. We have also improved the entity coverage of our Graph Network Substream, moving closer to feature-parity with the existing subgraph.

Happy August everyone :sparkles:

:tada: Looking Back (what was delivered)

Graphcast SDK (Documentation, SDK Crate, SDK Source)

  • Versions 0.4.0 and 0.4.1 of the SDK have been released
  • Refactored message validation
  • Various performance improvements and bug fixes
Graphcast SDK Development Activity

Subgraph Radio (Documentation, Docker Image, Radio Crate, Radio Source)

  • Subgraph Radio now supports triggering off-chain indexing for valid Subgraph Upgrade Presync messages from Subgraph Developers. This is configured with INDEXER_MANAGEMENT_SERVER_ENDPOINT and AUTO_UPGRADE. See the documentation
  • Versions 0.1.3 and 0.1.2 of Subgraph Radio have been released
  • Version 0.0.1 of One-Shot CLI has been released
  • Performance improvements, bug fixes, and updates to workflows and configurations
Subgraph Radio Development Activity
  • Subgraph Radio pull requests merged:
    • PR #5: Quick fixes for metrics and queries
    • PR #12: Updated Grafana dashboard JSON
    • PR #15: Refactored id_validation and coverage defaults, Removed indexer_count_by_ppoi
    • PR #17: Released version 0.1.2
    • PR #18: Added labels workflow
    • PR #26: Split off one-shot-cli package
    • PR #29: Fixed effective ctrl+c shutdown
    • PR #30: Updated workflows to use meta:awaiting-triage label
    • PR #32: Refactored config groupings
    • PR #33: Added indexer management client basics
    • PR #34: Reverted commit 77e65e0
    • PR #35: Split off one-shot-cli package
    • PR #36: Upgraded version triggers offchain sync request to indexer
    • PR #37: Updated labels workflow
    • PR #41: Allowed reading config file
    • PR #42: Released version 0.1.3
  • One-Shot CLI pull requests merged:
    • PR #1: Released version 0.0.1

Launchpad (Documentation, Starter, Charts, Namespaces)

  • V2 of Launchpad was released on the last monthly Core Developer Call
  • We are restarting Launchpad Office Hours, a twice-monthly open meeting in the Graph Protocol Discord for users of Launchpad to discuss the latest changes, debug issues and report feedback. Join us every second Wednesday at 5pm UTC
  • Migrated Launchpad Starter to V2 and Launchpad Namespaces
  • Added Subgraph Radio chart and updated dependencies in Launchpad Charts
  • Various updates to Launchpad Namespaces, including dependency updates and documentation improvements
Launchpad Development Activity
  • Launchpad Starter pull requests merged:
    • PR #29, PR #30: Updated and added awaiting triage labels workflow for better issue management
    • PR #31: Merged launchpad-starter v2, which includes various refactorings, dependency additions, and command enhancements in preparation for the launchpad-starter update
  • Launchpad Charts pull requests merged:
    • PR #83: Added subgraph-radio chart and updated dependencies
    • PR #84: Added workflow for awaiting triage labels
    • PR #86: Updated proxyd image location and configuration
    • PR #88: Updated label for awaiting triage
    • PR #90: Removed default PVC in subgraph-radio
    • PR #92: Updated subgraph-radio values documentation
    • PR #93: Released version 0.8.1 of openebs-rawfile-localpv
    • PR #94: Adjusted nimbus versioning
    • PR #95: Updated nimbus dependencies
    • PR #96: Released version 0.4.0 of nimbus
    • PR #97: Corrected release-stream name
    • PR #98: Released version 0.3.0 of proxyd
    • PR #99: Excluded alpha indexer-service from CI
    • PR #100: Adjusted versioning for indexer-service CI
    • PR #101: Updated graph dependencies
    • PR #102: Set correct release-stream name in CI
    • PR #104: Reverted to previous proxyd image location
    • PR #105: Released version 0.2.0 of graph-network-indexer
    • PR #106: Released version 0.2.0 of graph-node
    • PR #107: Released version 0.7.0 of erigon
  • Launchpad Namespaces pull requests merged:

Indexer Components (Indexer Service Rewrite)

  • We have begun a rewrite of Indexer Service in Rust in collabration with Semiotic! This work is related to integrating Scalar TAP payments into the Indexer Stack
  • Fixed health server by removing attestable header and adding SubgraphHealth enum
  • Various bug fixes and improvements to SubgraphDeploymentID hash conversions, subgraph queries responses, and free query auth token validation
Indexer Components Development Activity
  • Indexer Service RS pull requests merged:
    • PR #9: Fixed health server by removing attestable header and adding SubgraphHealth enum
    • PR #13: Added Apache license header to files
    • PR #20, PR #22: Fixed SubgraphDeploymentID hash conversions, Refactored usage of built-in validation for from_hex and from_ipfs_hash methods
    • PR #21, PR #24: Fixed subgraph queries responses, Added partial implementation of paid query flow
    • PR #23: Fixed free query auth token by adding 'Bearer ’ prefix to the supplied token

Network Operations (Graph Network Subgraph, Graph Network Substreams)

  • We are steadily increasing the entity coverage of our Graph Network Substream with an aim to reach feature-parity with the subgraph for core workloads (e.g. Indexer Agent and the Gateway)
  • Subgraph deployment coverage adds signal, query fees, query fee rebates and Curator rewards
  • Fixed missing event for signalled tokens
Network Operations Development Activity
  • Graph Network Substreams pull requests merged:
    • PR #39, PR #43: Added subgraph deployment query fee rebates and signal amount
    • PR #40: Added query fees amount
    • PR #41: Added subgraph deployment curator fee rewards
    • PR #42: Fixed missing event for signalled tokens
    • PR #44, PR #55, PR #56: Added various features to the allocation entity
    • PR #54: Added awaiting-triage label to the project workflows.

Ecosystem Relations

:rocket: Looking Ahead (upcoming priorities)

  • Subgraph Radio
    • Adjust Subgraph Presyncing functionality to add upgrade rate limiting and optional minimum signal requirements
    • Work with E&N to spec Upgrade Presyncing integration into Subgraph Studio
  • Launchpad
    • Further Documentation coverage including additional detail in the Kubernetes deployment guides
    • Update Network Indexer chart to support new Multi-Network Indexer Agent
  • Indexer Components
    • Continue building out Indexer Service in Rust
  • Network Operations
    • Continue increasing entity coverage in the Graph Network Substream
  • Ecosystem Relations
    • Please join the community for Indexer Office Hours on Tuesday every week at 6pm UTC in the Graph Protocol Discord