Today we are delighted to announce the winners of SubQuery's challenges in the recent Gitcoin GR 13 Hackathon. Gitcoin is recognised as one of the preeminent blockchain developer communities focussed on creating community and applications for Web3. SubQuery partnered with Gitcoin in March to sponsor four bounties with a total prize pool of up to $22,000.
The Hackathon took place from March 9th - 24th 2022 with participants from all around the world contributing to the bounties. The prizes are granted to those who have successfully completed the projects to the pre-set standards, and who deliver the most creative ideas, or those or solve areas to improve the core SubQuery SDK. A short summary of the challenges are below:
- Query Historical State of A SubQuery Project --- US$10,000
- Alternative subql Dictionary Generation --- US$7,000
- Enable SubQuery to support GraphQL subscriptions --- US$3,000
- Personal Staking Dashboard (sponsored by Moonbeam Network) --- US$2,000
Query Historical State of A SubQuery Project
Currently SubQuery only stores the final state of the chain. For example, if we index a network called ABC and synchronise it to its latest height of 5000, then the final state of the database reflects the result at this block height. You can get around this by manually storing historical state entities in your SubQuery project, but it adds significant extra development effort and overhead. This grant is to allow a SubQuery project to automatically store and manage this historical state, so you can query what the state of the data was at a certain blockheight --- it automatically provides each SubQuery project with the full history of the entities that it tracks.
The winner of this US$10,000 challenge was split between Samuel Pitko ("Spitko") who was awarded $7,000 and "Ipaydat" who was awarded $3,000. Spitko was the first to reach completion and it was clear they were very knowledgeable in postgresql. They provided a working scheme example for feature testing and fulfilled all requirements of the bounty --- we were impressed with Spitko's solution-focused approach throughout the hackathon.
"This was my first ever hackathon and I found immersing myself in that environment to be an incredible learning experience. I discovered so much about the inner workings of SubQuery as I endeavoured to hack it so that it would operate as outlined in the bounty and this was a lot of fun." - Ipaydat
Alternative subql Dictionary Generation
The SubQuery Dictionary is all about speeding up your Projects. It dramatically improves indexing the performance of your SubQuery Project, sometimes up to 10x faster. However, the performance of generating a dictionary is becoming a challenge on larger chains. This grant seeks to find another way (other than a normal subquery project) to generate a dictionary that shares the same DB schema and same result.
The winner of this US$7,000 challenge was split between "UnicornIdeas" who received $4,900 and "singulart" who was awarded $2,100. The submission from UnicornIdeas was a very strong proof of concept which showed the advantages that a hybrid approach can bring versus the original Rust archiver. The end result greatly reduces the dependency issues that are found when extending to other chains.
"What I loved about the hackathon was that it provides the environment for me to 'turboboost' my knowledge on what were previously very foreign technologies for me and come out the other side with valuable skills and a built SubQuery project to show for it" - UnicornIdeas
"The best part of my experience with the Gitcoin hackathon was how accessible the SubQuery team was, there was clear communication and transparency in what was required for the bounty and I knew which direction to take. I really admire how involved SubQuery is in hackathons and grants for developers because it provides a space for us to learn and eventually take our new skills and contribute to the future of decentralised economies." - singulart
Enable SubQuery to Support GraphQL Subscriptions
Subscriptions are a useful GraphQL tool for when you want your client application to update data or show some new data as soon as that change occurs or the new data is available. Subscriptions allow you to subscribe to your SubQuery project for changes. Like queries, subscriptions enable you to fetch data, unlike queries, subscriptions are long-lasting operations that can change their result over time.
We were looking for someone to help us implement this in the SubQuery Query service so that people running a SubQuery project can subscribe to changes in the state of their projects. The winner of this US$3,000 challenge was "Spitko" again who was awarded the full $3,000. Spitko was able to complete not one, but two challenges in the hackathon, and here he provided a solution that was both intelligible and scalable.
"Working on the two SubQuery bounties was an excellent opportunity to both learn something new and get to contribute to a project with genuine impact. I felt very well supported by the well-defined task descriptions and thorough technical documentation." - Samuel Pitko (Spitko)
Personal Staking Dashboard (sponsored by Moonbeam Network)
Moonbeam and Moonriver provide a good opportunity to earn rewards by staking your GLMR and MOVR to collators in the network. We were looking for a custom built application designed to help the individual staker identify and analyse staking opportunities with different collators and keep track of their own staking performance over time.
When Moonbeam came to us with this idea they had hoped the personal dashboard would help simplify their complex staking implementation. We certainly see the value in this and although we didn't select a winner for this US$2,000 challenge, we're advertising it via our regular Grants Programme for someone to achieve in future.
Sam Zou, the CEO and Founder of SubQuery commented, "SubQuery is delighted with the results of the Gitcoin GR13 Hackathon. It is in our interest to support motivated developers around the world to build on top of our data indexing service which is now going multichain with our recent announcement of Avalanche support. We are excited to nurture the winners of the challenges to develop their ideas for application in our rapidly expanding ecosystem".
Following on from this successful Hackathon, SubQuery would like to encourage developers who would like to learn more about how to build applications with SubQuery to register for our free online "Hero Course", or apply to the SubQuery Grants Programme which consists of open bounties and partnerships with the leading teams in Polkadot.
SubQuery is a blockchain developer toolkit enabling others to build Web3 applications of the future. A SubQuery project is a complete API to organise and query data from layer-1 chains. Currently servicing Polkadot , Substrate and Avalanche projects, this data-as-a-service allows developers to focus on their core use case and front-end, without needing to waste time on building a custom backend for data processing. The SubQuery Network proposes to enable this same scalable and reliable solution, but in a completely decentralised way.