GraphOps Update December 2023

:astronaut: Executive Summary

GraphOps is excited to share our progress this month!

Within Graphcast SDK, we have added a generic RadioPayload trait and removed filter subscription of topics as we are now using Waku’s relay protocol. On Subgraph Radio, we have upgraded to the improved RadioPayload trait from the Graphcast SDK, implemented various refactors, and added better control over event durations. We have also done a lot of work towards implementing a SQL datastore for Subgraph Radio, but this was not yet released.

For Launchpad, we released the Gnosis namespace and Arbitrum One namespace, added Ethereum Sepolia support to the Ethereum Namespace, and implemented various improvements to Launchpad Charts. Additionally, we have made updates to our Automated Release Management Process documentation and added a Contributor Guide to Launchpad Charts. Our team also hosted two new editions of Launchpad Office Hours sharing the latest updates on Launchpad and bringing support to the community.

We are actively pushing forward File Data Service, a decentralized, peer-to-peer file sharing data service designed for efficient and verifiable file sharing. We developed and tested a proof of concept that uses HTTP2 for efficient data transfer and performs incremental file verification.

Within the Network Operations, we have rolled out a minor and patch release for the Core Network Subgraph and Analytics Subgraph, addressing several issues across the L2 deployment, Exponential Rebates and Delegation Parameters.

Hope gave a talk on Graphcast at Datapalooza in Istanbul. We also participated in The Graph’s New Era AMA on Reddit.

Happy December everyone :sparkles:

:tada: Looking Back (what was delivered)

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

  • Hope gave a talk on Graphcast at Datapalooza in Istanbul.
  • Updated to use the improved RadioPayload trait from the SDK, making the Radio’s messages more strongly typed and explicit, as well as allowing for granular handling of different message types within the Radio
  • Refactored the determination of message types for improved accuracy
  • Improved control over event durations and timeouts due to refactoring
Subgraph Radio Development Activity
  • Subgraph Radio pull requests merged:
    • PR #110: Better determination of message types has been refactored
    • PR #111: Event durations and timeouts are now effectively controlled due to refactoring

Graphcast SDK (Documentation, SDK Crate, SDK Source)

  • Added RadioPayload trait, which allows for Graphcast messages to be more custom and flexible, yet still adhering to all the safety guarantees, this will allow Radios to define message types that best suit the Radio’s use case
  • Removed filter subscription of topics, since Graphcast is now using Waku’s relay protocol

Launchpad (Documentation, Starter, Charts, Namespaces)

  • Added a contributor guide to Launchpad Charts
  • Updates to our Automated Release Management Process documentation and workflow fixes
  • Added Ethereum Sepolia support
  • Released Arbitrum One namespace with support for Mainnet and Sepolia
  • Released Gnosis namespace with support for Mainnet and Chiado networks
  • Ran two Launchpad Office Hours session on creating custom Ingress resources, creating custom StorageClasses (recording) and setting up the Graph Stack Ethereum Goerli (recording)
  • In Launchpad Starter, there has been a focus on improving efficiency, addressing an issue relating to name selection for releases and introducing a new helmfile cache cleanup script to reduce unnecessary disk space usage
  • Multiple charts have been released in the Launchpad Charts repository together with updates to the dashboard, ServiceMonitor, and dependencies
  • Broad range of fixes and enhancements have been rolled out across Launchpad Namespaces, including updates to monitoring dependencies, CI enhancements, the introduction of new features, and a varied range of dependency updates
  • Kept up to date with a regular churn of version bumps tracking upstream
Launchpad Development Activity

Indexer Components (Indexer Components, Indexer Service Rewrite, Allocation Optimizer)

  • Finished a Proof of concept for File Data Service. The main components include:
    • A simple schema definition in subfile manifests for verifiable transfers
    • CLI command to create a subfile service (as a deployment unit) and publish to IPFS
    • Server runs continuously and serve chunk requests for multiple subfiles, with free query auth token and admin token for management
    • Client uses CLI to download a specific subfile from a static list of servers and an auth token
    • CLI performs incremental chunk verification
    • PoC went though basic testing and benchmarking
  • Added documentation
Indexer Components Development Activity

Network Operations (Graph Network Subgraph, Graph Network Substreams)

  • Core network Subgraph:
    • Minor release including L1 tests and Sepolia/Arbitrum Sepolia testnet environments and fixes (v0.22.0)
    • Patch release for L2 block height issues and delegation parameter issues on the network subgraph (v0.22.1)
    • Helped debug and find an issue with File Data Sources that were created within File Data Sources handlers
  • Analytics Subgraph:
    • Minor release including Exponential rebates support, as well as Sepolia/Arbitrum sepolia testnet environments (v0.22.0)
    • Patch release for missing query fees on arbitrum subgraphs (v0.22.1)
    • Activity subgraph:
    • Added Sepolia/Arbitrum Sepolia support (PR)
  • Token Distribution subgraph:
    • Added Sepolia/Arbitrum Sepolia support (PR)
  • Epoch Block Oracle:
    • Added Sepolia/Arbitrum Sepolia support to the subgraph (PR)
    • Helped debug some configuration issues for the new testnet environments
    • Introduced feature parity for subgraph and subgraph version entities in Graph Network Substreams.
Network Operations Development Activity

Ecosystem Relations

:rocket: Looking Ahead (upcoming priorities)

  • Subgraph Radio
    • Release first stable version - 1.0.0
    • Release the json->db refactor
    • Improve the Radio’s config validation
    • Simplify the process of setting up a Slack notification bot for Graphcast notification messages
    • Improve message pipeline logs
    • Add more e2e tests
  • Indexer Components
    • Add File Data Service MVP features such as dataset/file discovery, price matching, cloud storage paths
    • Reach out to File Data Service key users for early feedback
    • Integrate TAP payments in indexer-agent
  • Network Operations
    • Release File Data Sources refactor on all subgraphs that require it
    • Publish all File Data Sources refactored subgraphs on the network
  • Ecosystem Relations
    • Please join the community for Indexer Office Hours on Tuesday every week at 6pm UTC in the Graph Protocol Discord
    • Please join the community for Launchpad Office Hours on Wednesday every second week at 5pm UTC in the Graph Protocol Discord