GraphOps Update July 2023

:woman_astronaut: Exec summary

In May, GraphOps made major progress towards V2 of Launchpad, our Kubernetes Toolkit for Indexers. Launchpad now comes with prepackaged namespaces for all major blockchains and the Graph stack, and also addresses many items of feedback we’ve received from Indexers since our first release. Graphcast and POI Radio also continue to see improvement, with Graphcast ID registration now optional, making it even easier for Indexers to onboard. We’ve also made strong progress on our Core Network Substreams implementation, as well as readying the Core Network Subgraphs for the L2 migration tooling.

Happy July everyone :sparkles:

:tada: Looking back (what was delivered)

Graphcast (Documentation, SDK Crate, Code, GRC-001)

  • Versions 0.3.3 and 0.3.4 of the SDK have landed, containing a number of performance improvements and bug fixes
  • Registering a standalone Graphcast ID is now optional, making it much easier for Indexers to get set up with Radios. Indexers can now use any registered Graph Operator account as their Graphcast ID.
Development Activity
  • Graphcast SDK pull requests merged:
    • PR #234, PR #242: Released versions v0.3.3 and 0.3.4
    • PR #246, PR #247: Removed some unnecessary clones for efficiency, Refactored String usage to &str for better performance and readability
    • PR #240, PR #250: Fixed DNS and Discv5 peer connection, Fixed Waku version
    • PR #231: Introduced a relay/filter protocol toggle for the Graphcast agent
    • PR #243: Introduced validation mechanism options for message sender identity
    • PR #244: Fixed the requirement of an operator for indexer
    • PR #251: Refactored Graphcast message to require payload
    • PR #253: Fixed issue to ensure nonce consistency during build
  • Graphcast Registry pull requests merged: None
  • Graphcast Registry Subgraph pull requests merged: None

POI Radio (Documentation, Docker Image, Radio Crate, Code)

  • Versions 0.3.5 and 0.3.6 of POI Radio have landed, leveraging the latest version of Graphcast SDK
  • Persistence of comparison results is now enabled, improving the UX of notifications and data across Radio reboots
  • Fixed API deadlock issue and updated POI Radio Grafana dashboard to include more detail
Development Activity
  • POI Radio pull requests merged:
    • PR #186, PR #187: Removed double Arc Mutex from state types and updated logging level
    • PR #189, PR #191, PR #200, PR #202: Updated SDK version and fixed tests
    • PR #190, PR #192: Released versions 0.3.5 and 0.3.6
    • PR #193: Introduced message sender validation options
    • PR #194: Moved end-to-end tests into separate files and added new scenarios
    • PR #195: Added the ability to persist comparison results
    • PR #196: Updated Grafana configuration and default network subgraph endpoint in the documentation
    • PR #201: Switched to string reference for better performance and code simplicity

Launchpad (Documentation, Starter Repo, Launchpad Charts, Launchpad Namespaces)

  • We’re very excited to soft-launch V2 of Launchpad, addressing a myriad of feedback from the Indexer community. Expect updated docs and a full release announcements in the next month or so
  • Launchpad Charts now comes with an automated dependency update pipeline, ensuring that new versions of all dependencies are quickly tracked, incorporated and pushed into the Launchpad stack
  • Launchpad Namespaces has been open sourced, containing prepackaged Kubernetes namespaces for core system services (Storage, Ingress, etc) major blockchains (Ethereum, Arbitrum, Avalanche, Celo, Gnosis Chain and Polygon) as well as the Graph Indexing stack
  • Launchpad Core submodule has been deprecated in favour of Launchpad Namespaces
Development Activity
  • Launchpad Charts pull requests merged:
    • PR #49: Renamed repository from “helm-charts” to “launchpad-charts”
    • PR #52: Used exec to replace the shell process with the main process for better signal handling
    • PR #55, PR #56: Revamped actions and added support for two release streams, Added Renovate configuration
    • PR #57: Allowed using an existing ConfigMap in the proxyd backend
    • PR #68: Updated release notes to include only the current release
    • PR #69: Added Renovate support for main image tags in the chart’s appVersion
    • PR #72: Improved commit message consistency for Renovate, Used “feat” instead of “chore” in Renovate PR titles, Enabled commitBodyTable
    • PR #73: Created canary releases on commit with small bug fixes, Added git-cliff and changelog documentation updates
    • PR #74: Made small fixes to the script
    • PR #75: Fixed git-cliff commitBodyTable parsing
    • PR #76: Defined configHash in the global scope of the proxyd
    • PR #77: Bumped release version to include a bug fix in the proxyd
    • PR #78: Updated the GitHub workflow for trigger-push
    • PR #79: Fixed issues with the GitHub workflow trigger-tags environment and outputs
  • Launchpad Namespaces pull requests merged:
    • PR #8: Initial commit of the project
    • PR #5, PR #6: Introduced the ability to generate helmfiles from schemas, and fixed missing files for helmfile generation
    • PR #11, PR #12: Fixed and updated issue templates according to documentation

Network Operations (Core Network Subgraph, Core Network Substreams)

  • Entity coverage in the Core Network Substreams continues to expand, including Query Fees and Rebates, Allocations and Curation. See ongoing work here.
  • Refactoring the Core Network Subgraph to use File Data Sources instead of for resolving subgraph metadata
  • Work on the Token Distribution subgraph to support the L2 migration, including the migration of vesting contracts
Development Activity

Ecosystem Relations

:rocket: Looking ahead (upcoming priorities)

  • Graphcast & POI Radio
    • Begin rebranding POI Radio into Subgraph Radio, with expanded scope including all things Subgraphs!
    • Release a walkthrough workshop for Indexers to add POI Radio to their stack
    • Begin work on graphcast-web, enabling web-based interactions with Graphcast Network
  • Launchpad and Kubernetes Tooling
    • Update all existing Launchpad documentation to reflect changes in V2
    • Make comprehensive release announcements after soft-launching
  • Network Operations
    • Continue work on the Core Network Substreams, with our current milestone defined here
    • Continue work on the L2 migration, Core Network Subgraphs, and the Epoch Block Oracle
  • Ecosystem Relations
    • Please join the community for Indexer Office Hours on Tuesday every week at 6pm UTC in the Graph Protocol Discord