The Graph Core Dev Call #30

:information_source: The 30th Core Dev call is happening next Thursday 2024-05-16T16:00:00Z.

Join us!

:point_right: Launch Meeting - Zoom

This is a recurring call where team contributors discuss major updates from different working groups and brainstorm about active R&D tracks.

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


:notebook: Tentative agenda:

  • Updates on Sunrise [Marian, Edge & Node]
  • Design experiments w/ cross-chain subgraph development :eyes: [@alex-pakalniskis , Edge & Node + Dylan, Messari]
  • postponed :x: Latest development with Substreams :technologist: [@abourget , StreamingFast]~
  • Protocol updates: Indexing fees MVP [Pablo, Edge & Node]

:person_raising_hand: Got something to present and discuss?
Feel free to propose any new topic by replying to this thread.

:tv: The recording will be uploaded here.


:rocket: The Graph Core R&D Workspace

As The Graph is being built in public and in a decentralized way, we’ve put together a new publicly accessible The Graph Core R&D Workspace . You can use this page to follow along with each working group’s progress on significant workstreams and access meeting notes and recordings.

:crystal_ball: Monthly Core Dev updates

Core development teams are now posting monthly updates in this forum section Core Team Updates - The Graph.
Soon, you’ll also find regular updates from all Working Groups and Task Forces on all major components of The Graph stack. Stay tuned!


See you Thursday! :astronaut:

3 Likes

Call Summary

Topic Details Covered
Substreams - Updates
08:20

1. Overview of StreamingFast’s collaboration with GoEthereum and Firehose technology integration.

2. Enhancements in subgraph engine and server-side components including caching layers and module developments.

3. Release of Substreams 1.6.0 featuring “Block Indexes” and integration with Graph Node.

4. Development of no-code tools and beta features for Substreams development. Introduction of the Graph Payment Gateway.

Sunrise Initiative - Updates
19:59

1. Updates on hosted service chains support and new query plans. Launch of the 60-day upgrade window for hosted service subgraphs.

2. Introduction of the Sunrise Upgrade Program featuring two tracks: Web3 Visionary Track and Web3 Builder Track.

3. Role of the Edge & Node tech support team in facilitating upgrades.

Cross Chain Subgraphs - A DX Research Update
30:56

1. Overview of strategies for deploying subgraphs across multiple chains.

2. Introduction of new tools and methods for cross-chain subgraph management.

3. Discussion of challenges and community feedback for broader adoption.

GIP-0058 - Updates
45:36

1. Updates on the evolution of GIP-0058 and the Horizon proposal.

2. Introduction of new staking mechanisms and automated Indexer selection processes.

3. Overview of MVP testing and the subgraph service contract as part of The Graph Horizon upgrade.

4. Discussion on maintaining decentralization and economic security in The Graph Network.


Substreams Updates
08:20

In Core Dev Call #30, Alexandre Bourget shared StreamingFast’s progress and updates. StreamingFast has been collaborating with the Go Ethereum team, integrating Firehose technology into the “Live Tracer.” This integration, which was shipped in Geth 1.14, allows Firehose to disseminate to all Geth derivatives. The process has been streamlined for easier upstream maintenance, highlighting Firehose’s value to those who need indexing.

Subgraph Engine Enhancements

Significant improvements have been made to the subgraph engine and server-side components. By adding layers of caching between each Substreams’ modules, costs have been reduced, and speed has increased. This optimization decreases the CPU power needed and the bytes transferred, ultimately lowering costs for the end user. Foundational modules have also been created for various chains, primarily Ethereum, with plans to expand to others like Solana. For instance, a module that purges all “no-votes” hashes helps reduce block size and costs.

Introduction of Block Indexes

The release of Substreams 1.6.0 introduced a new module type called “Block Indexes.” These indexes allow tagging of blocks with specific events or transactions, enabling the engine to skip processing unnecessary blocks and significantly improving efficiency. Graph Node will leverage Substreams, with StreamingFast working to incorporate Substreams into Graph Node’s mappings. This integration allows for more efficient data handling and supports complex object structures directly in AssemblyScript.

No-Code Development Tools

To simplify the development process, no-code tools are being developed. Substreams init, a conversational UI that operates on both web and command-line interfaces, can generate SPKGs and compile Rust code for users. Additionally, a new feature in beta enables modules to be written with TinyGo, and community feedback is being sought to refine this feature.

And More…

Another significant development is the Graph Payment Gateway, a federated identity and payment system for Substreams.dev. This system aims to streamline payment processes and improve trust and usability. StreamingFast is collaborating with various teams to refine this system further.

These updates reflect the continuous efforts of StreamingFast to enhance The Graph’s ecosystem, making it more efficient and accessible for developers and users alike.


Sunrise Initiative Update
19:59

Next, Marion shared updates on the Sunrise Initiative, detailing several key developments and milestones. The initiative aims to support all hosted service chains on The Graph Network. This effort includes creating an easy upgrade flow and introducing a new 100k free query plan, both of which were completed by March 26, 2024. Additionally, the Sunbeam announcement on April 11, 2024, marked the start of a 60-day upgrade window, requiring all hosted service subgraphs to upgrade by June 12, 2024, to finalize the Sunrise transition.

Billing and Network Enhancements

Billing has been streamlined, allowing users to pay either in GRT or by credit card, with new pricing set at $40 per million queries above the 100k monthly free queries. Significant improvements in network latency have also been achieved over the past five months, enhancing the overall user experience. Since the 60-day upgrade window announcement, over 1,000 subgraphs have been upgraded from the hosted service, with nearly 200 of these subgraphs handling more than 100k queries each. This upgrade effort has resulted in approximately 1.5 million billable network queries per day from these upgraded subgraphs.

Sunrise Upgrade Program

The Sunrise Upgrade Program, launched on May 2, 2024, and running until June 20, 2024, supports The Graph’s transition to decentralized data. Up to 4 million GRT is allocated to reward participants for completing both technical and non-technical missions, such as upgrading subgraphs, creating content, and supporting the community. Early submissions are eligible for greater rewards, and all are welcome to join, regardless of experience in crypto or web3. The program features two tracks:

Track Description
Web3 Visionary Track This track focuses on creating educational content, blog posts, community partnerships, support for upgrades and Sunrise, fun videos, memes, social media content tagged with #GraphRising, and other creative outputs showcasing The Graph Network’s mission and values.
Web3 Builder Track This track targets technical contributions such as upgrading subgraphs, assisting others in upgrading, querying existing subgraphs, helping with initial queries on the network, sharing example queries, and creating example code querying The Graph Network.

Tech Support

The Edge & Node tech support team has five dedicated members who are crucial in assisting users with the upgrade process. Their efforts have been instrumental in unblocking issues and significantly enhancing user experience.


Cross Chain Subgraphs | A DX Research Update
30:56

Paka and Dylan shared a brief DX research update on cross-chain subgraphs, highlighting several strategies and techniques for deploying subgraphs on multiple chains. One common method involves using mustache templating to manage configuration files for various chains, allowing for the creation of subgraph manifests that can be deployed using Yarn commands. While this approach is functional, it has limitations, such as the inability to specify event handlers for different chains.

Current Strategies

Another method, the network start JSON approach, uses a JSON file to organize network information, simplifying the deployment process but still facing some constraints like handling chain-specific requirements. Paka also discussed more advanced strategies, such as maintaining mostly similar but not identical subgraphs for each chain. This often involves having one subgraph per chain with an optional management layer to streamline operations. Tools like Graph Client and Messari’s subgraph CLI were mentioned as solutions that help manage these complexities by wrapping subgraph entities into YAML for easier cross-chain deployment.

Single Artifact Solution

Lastly, the concept of a single artifact for all chains was introduced, with tools like Ponder offering ways to manage schema mappings and manifests across multiple networks. This method aims to reduce complexity but can introduce challenges when dealing with a large number of chains. Paka emphasized the importance of community feedback and collaboration to refine these tools and strategies for broader adoption and efficiency.

Adoption

Paka also shared a “Hypothesized Adoption Graph” for the one artifact solution, illustrating how different types of teams might adopt this approach based on their existing investments and operational complexities. The graph highlighted that new teams or those new to cross-chain technology are more likely to adopt the one artifact solution due to lower switching costs. In contrast, established projects with significant existing infrastructure face higher switching costs, making them less likely to switch to the new solution. This contextual understanding underscores the need for tailored approaches and support mechanisms to facilitate broader adoption across diverse team types within The Graph ecosystem.

Feedback Needed

By sharing these insights, Paka aimed to foster a deeper understanding of the current state and potential future directions of cross-chain subgraph deployment within The Graph ecosystem. He encouraged feedback and collaboration from the community to help shape the development of more effective and efficient deployment tools and strategies.


GIP-0058 Update
45:36

Lastly, Pablo of Edge & Node shared an update on GIP-0058, which concerns replacing bonding curves with indexing fees. He highlighted that the proposal, originally an older GIP, has been a focus for the team, which has been fine-tuning and developing an MVP. Pablo indicated that another GIP update or draft will soon be available on the forum. The initial approach of GIP-0058 aimed to replace curation and its bonding curves due to the complexity and unpredictability it posed for subgraph developers and Indexers. The original proposal suggested a scenario where consumers would choose Indexers and agree on a price for indexing subgraphs, aiming to provide revenue certainty, low volatility, good quality of service (QoS), Sybil resistance, efficiency, and simplicity.

The Graph Horizon Proposal Evolution

However, The Graph Horizon proposal has since evolved, with the Council supporting a brownfield version that does not change issuance. This updated proposal focuses on a staking mechanism for the permissionless deployment of data services. Concerns raised about the initial proposal included clarity on issuance changes, sustainability for Indexers during the bootstrap phase, and maintaining The Graph Network’s decentralized model. The current thinking involves automated selection of Indexers, rather than allowing consumers to choose them directly. This new mechanism aims to separate the product from the protocol, adopting a Web3 mullet approach, where developers select a payment plan for Subgraph Studio, and a gateway instance manages the indexing process.

Indexing Selection Algorithm and MVP Testing

An indexing selection algorithm (ISA) will automate the process, with Indexers posting their prices and gateways requesting indexing with signed vouchers. Indexers will create allocations and start indexing upon receiving these vouchers. Initially, the MVP does not require modifications to smart contracts. A comprehensive proposal to change issuance and indexing rewards will be presented separately. The MVP aims to test real subgraphs and Indexers, gathering feedback to refine aspects such as pricing, QoS, and the indexer selection algorithm. The new system includes a subgraph service contract as part of The Graph Horizon upgrade, with payments to Indexers secured through scalar escrow, ensuring they receive payments as long as funds are available.

Real-World Testing and Feedback

The MVP allows testing in a real-world environment to gather insights on how the system functions outside of smart contracts. The Graph Network aims to maintain decentralization and economic security through this new approach, ensuring that Indexers receive sustainable income. Indexers will still receive curation rewards, which can be boosted by adding GRT for specific subgraphs. Pablo emphasized that the new mechanism is designed to work in a decentralized way, providing the best experience for subgraph developers and consumers, and ensuring a sustainable model for Indexers. Feedback from the community will be crucial in further refining this proposal.

Stay Tuned!

Join us next month for Core Devs Call #31…
Keep up to date by joining discussions in the forum, following The Graph on X/Twitter or joining the Discord server!