The Graph's Core Devs Meeting #14

The Graph’s Core R&D Call #14 was held on Thursday, June 30th @8AM PST.

The Graph’s Core R&D Call gathers contributors from various development teams together to discuss major updates from working groups and brainstorm around active R&D tracks.

Please subscribe to The Graph Foundation’s Ecosystem Calendar so you don’t miss any of the upcoming calls!

Core R&D #14 goes in-depth on Graph Day announcements, featuring more information on newly awarded core developer grants, sunsetting of the hosted service, and how Layer 2 support will be executed.

Topics Include:

  • Core Dev Grants
  • Hosted Service Sunset!
  • Support for Multiple Chains | Epoch Block Oracle
  • Support for Arweave
    • File Data Sources
  • Layer 2 Scaling Proposals

Detailed notes regarding each topic with timestamps can be found below.

New Core Dev Grants

Two New Core Development Teams

Graph Ops and Messari were recently awarded core development grants! The Graph Ops team has been active with The Graph since 2020 and have already made many valuable contributions to the ecosystem. As a core development team, they will be focusing on Protocol R&D, Indexer experience and ecosystem support. Messari will join as a core subgraph development team and will be tasked with developing and maintaining approximately 200 high-quality standardized protocol subgraphs.

Hosted Service Sunset!

Support for Multiple Chains | Epoch Block Oracle

As subgraphs from non-evm chains are migrated to the decentralized network, Indexers will make use of the Epoch Block Oracle to index them. Read below on how the Epoch Block Oracle allows Indexers to index non-evm chains.

Epoch Block Oracle

  • Deploying to Testnet

Updating Affected Components

  • Indexer Agent
  • Studio Explorer

Gateway Support
Adding New Networks

  • Indexers
  • Subgraphs

For those Indexers who are already working on BSC and other more challenging chains, we would love to hear your feedback/thoughts so we can continue to integrate these into our Docs, etc. Feel to reach out on Discord. – Brandon Kramer

Support for Arweave

Reminder: This is indexing Arweave as a blockchain, rather than Arweave as a file storage network. This is a step towards organizing and searching web3’s storage data.

  • Initial Implementation is Ongoing
  • Obtaining user feedback & understanding use cases
    • Addresses and Decoding Supported
  • Possible Future Augments to the Integration
    • Bundlr support

File Data Sources

The File Data Sources GIP will enhance existing IPFS support and pave the way for deterministic support in the future. Current implementation of IPFS can lead to determinism issues because of file availability. Looking forward, connections to other file data sources such as Arweave and Filecoin may be possible! Read more on how The Graph will address File Data Sources here.

L2 Scaling Proposals

GIP-0031: Arbitrum GRT Bridge

GIP-0031 specifies the set of contracts that will allow users or contracts to bridge GRT to Layer 2. This is the first step towards deployment of a devnet on Arbitrum. An audit is in progress!

  • Straightforward design for a token bridge (used default bridge design from Arbitrum and added some new functions)
  • Upgrade and Pause functions for safety
  • Includes a separate bridge escrow contract to provide an escape hatch
  • Callhooks from whitelisted addresses will allow protocol-specific data to be sent with tokens (important for indexing rewards distribution).

GIP-0034: Arbitrum Devnet with a New Rewards Issuance and Distribution Mechanism

GIP-0034 details the plan for deployment to layer 2! The initial devnet deployment will leave contracts unchanged except there will be no indexing rewards initially. Layer 2 indexing rewards will be distributed on layer 2 via a GRT reservoir and the drip() function that communicates with layer one via callhooks. Instead of the current process of minting and distributing indexing rewards immediately, GRT will be pre-minted so that there is the opportunity for them to be bridged to layer 2.

Quick Facts:

  • Full deployment to L2, most contracts unchanged
  • New rewards issuance mechanism, minting only on L1
  • Drip() function called on L1, produces rewards for the next week
  • Bridge and L1-L2 callhook used to send rewards+data to L2
  • GIP is a work in progress, audit pending

General Plan

Testnet Mainnet
1) Deploy new Goerli testnet (needed after the Merge) 1) Deploy Arbitrum GRT bridge
2) Deploy Arbitrum GRT bridge 2) Deploy Arbitrum devnet (L2 side only)
3) Deploy Arbitrum devnet (L2 side only) 3) Operate devnet (no rewards)
4) Test, test, test... 4) Deploy L1 changes to rewards distribution plus L2 updates
5) Deploy L1 changes to rewards distribution plus L2 updates 5) Gradually increase rewards on L2
6) Initialize indexer rewards cut on L2

Test Net & Mainnet Plan will proceed in tandem while work on migration functions for GNS, staking, etc. continues. PLEASE READ AND SHARE YOUR FEEDBACK ON THIS GIP IN THE FORUM!

Stay Tuned!

Join us next month for Core R&D call #15!

Keep up to date by joining discussions in the forum, following The Graph on Twitter or joining the Discord server.

Notes will be updated with timestamps and video clips when the recording is available.