w3f / Grants-Program

Web3 Foundation Grants Program
https://grants.web3.foundation/
Apache License 2.0
1.04k stars 2.06k forks source link

Create substrate-graphql-api.md #2421

Closed justmert closed 1 week ago

justmert commented 3 weeks ago

Project Abstract

GraphQL API for seamless Substrate blockchain interactions.

Grant level

Application Checklist

github-actions[bot] commented 3 weeks ago

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

justmert commented 3 weeks ago

I have read and hereby sign the Contributor License Agreement.

PieWol commented 3 weeks ago

Hey @justmert , thank you for applying to our Grants Program :)

On your LinkedIn it looks like you already have a full time position. Are you willing to work two FTE's simultaneously or is this project that you are trying to fund for your company ApeWorx?

After a few minutes of research I was able to find SubQuery and I'm surprised you didn't include it in the section of "comparable projects" in your application. To me it looks like SubQuery is already offering what you are proposing here. I would love to hear your thoughts on how you compare to them.

justmert commented 3 weeks ago

Hey @PieWol, thank you for your quick review :)

Actually this project is not affiliated with Apeworx. I am not employed by Apeworx; our arrangement is a contract-based agreement for the delivery of a specific project. Right now, we're only handling maintenance, so it's not a full-time arrangement. For this new project, however, I'll be working full-time.

Sorry to not include SubQuery, I was aware of it but I made direct comparison between project's direct counterpart substrate-rest-api project. Here's the comparison between this project and SubQuery:

  1. Real-time vs Indexed Data:

    • This project provides data directly from a Substrate node.
    • SubQuery indexes blockchain data and serves it from a database.
    • Real-time data is useful for current information, while indexed data suits historical analysis.
  2. Setup and Configuration:

    • This project offers setup with a configuration UI for quick developer onboarding.
    • SubQuery requires setting up an indexing project, allowing more customization but with added complexity.
  3. Customization vs Standardization:

    • This project provides a standard API for common Substrate chain interactions.
    • SubQuery allows custom data models and queries, beneficial for specific project needs.
  4. Resource Requirements:

    • This project has lower resource needs without a separate database.
    • SubQuery requires more resources for indexing but offers faster queries for large historical datasets.
  5. Use Case Focus:

    • This project suits applications needing current Substrate data.
    • SubQuery is better for apps requiring historical data analysis or large data volume queries.
  6. Learning Curve:

    • Developers familiar with GraphQL can use this project quickly.
    • SubQuery requires learning about indexing and custom mappings.

SubQuery is a great project but actually differs from this project a lot. We best compare this project with its counterpart substrate-api-sidecar which is a REST API service for Substrate nodes.

PieWol commented 3 weeks ago

Got it, thanks for clarifying.

PieWol commented 1 week ago

Hey @justmert , with your latest clarifications it does seem like there is nothing currently in the space which uses GraphQL to directly query nodes instead of indexers. I can't seem to find any evidence that this is actually needed and desired within the ecosystem. Given that your two previous grants (Dotly and PolkaFlow) became immediately stale once they were approved by W3F, I'm not hopeful that this very project will end any different. I'm sorry but just by these few but strong points I'm not fond of approving it. I'm open to revisit this in case you manage to provide evidence of demand for this tool. Maybe my colleagues have a different view on your application and I hope that they will provide some feedback or their decision soon. I already shared the application with the committee. Until then best wishes 🙏

PieWol commented 1 week ago

Hey @justmert , due to the aforementioned reasons the committee sadly wasn't convinced by your application. I will close this PR now. We appreciate the time and effort you put into this application.

Best of luck on your future endeavours. Feel free to reach out if you have any questions.