Details

Indexers operate Graph Nodes, indexing on-chain data and processing queries upon Dapps' request (Consumers). The indexing work is a heavy task and for highly used subgraphs, query time and performance are paramount for Indexers. These network participants must constantly find the right balance between infrastructure costs and performance, having in mind potential rewards to be collected from query fees. In order to achieve a stable network with almost zero downtime and an efficient market, Indexers must properly plan ahead for operational costs.

As such, The Graph Foundation is looking for an individual/team to design and build an advanced Cloud Indexing Cost Calculator capable of predicting the costs involved with indexing a particular set of subgraph(s) and respective networks, and how profitable it may be based on properly sized cloud infrastructure. The tool should provide a breakdown of involved costs, and an estimate on ROI (Return on Investment) or break-even point when estimating indexing rewards and query fees as income.

RFP Requirements

Note: The scope of the RFP can be extended to include other value add tools to compute a subgraph’s complexity and it’s on load for a given query volume. These tools can be static analyzers or others capable of determining code complexity by inspecting a subgraph mapping load on CPU and IO. The Graph Foundation encourages applicants to work on such separate tools as well, regardless if applying to the RFP in scope or not.

Deliverables

  1. Document #1: Tech stack and User Stories
    1. Chosen tech stack and architecture, paired with user stories detailing high-level expected functionalities.
  2. Functional MVP
    1. A complete functional demo showcasing the calculated costs for at least one subgraph for a particular query volume and dataset, computed against Cloud Providers’ publicly available information on hardware pricing
    2. This MVP should make use of the underlying solution presented in #1 as much as possible. The demo can either be a live demo or a recording privately shared with The Graph Foundation.
  3. Final solution: all source code publicly shared in a GitHub repo, with accompanying documentation on usage, expected input, and how to make sense of resulting output. If exposing a RESTful API, an OpenAPI specification should be provided.