Vega is a proof of stake blockchain for creating and trading derivatives. It provides infrastructure for decentralised markets that settle in assets held on Ethereum, and in future also Bitcoin and other major collateral blockchains. Vega facilitates high speed, permissionless derivatives markets.
The Vega public testnet showcases our technology and we are looking for passionate and talented members of the community to help us build out the vision by working with us to shape the end product.
Through a rich set of APIs, developers can build on top of the Vega network and build immersive web, mobile or desktop applications. One such application is the Vega Console, this is a Javascript application built with React and makes use of the GraphQL API.
Description
For Gitcoin Grants Round 11 we would like to see the talented community of hackers/developers build GraphQL reference applications against the Vega APIs.
The goal is to showcase the power and flexibility of GraphQL on Vega 💥
Submissions should be open source walk-through style apps which show how to integrate with Vega. We're primarily looking for front end client applications, as it'd be good for the walk-through app to have an in browser visual element e.g. listing orders, streaming events, etc.
This task is ideal for someone with Javascript knowledge and a passion for, or desire to learn GraphQL.
Digging a bit deeper
There are two areas we're interested in exploring with the community:
- Creating a suite of open-source repos with community example apps that can help other developers, including new Vega Builders Club members.
- Creating an interactive walk-through application similar to Svelte examples, or a tutorial where users can interact with queries e.g. example.
Current APIs and Testnet documentation for Vega
There are currently three API transport types on Vega: gRPC, GraphQL and REST. These are described in some detail in with a set API how-to guides (complete with code examples) on https://docs.testnet.vega.xyz.
Note: It is recommended you check out the docs linked above to familiarise yourself with the current information. Also see the section below on "Familiarity with Vega" as this is an essential prerequisite.
As you'll see, the Vega Testnet API how-to guides are written primarily for the REST/gRPC APIs and so there is a real need for a way for developers to engage with the very powerful GraphQL APIs, especially for web apps and real-time streaming.
Acceptance criteria
- Design and create a great showcase or walk-through application.
- The application should be web based, using Javascript and GraphQL. The app could be written in vanilla JS or using a simple to understand framework such as React or Svelte.
- Bonus points for a set of supporting markdown files that describe how the application works, primarily the queries made to Vega.
- The GraphQL APIs (see GraphQL playground), support query, mutation and subscriptions to streaming data.
- The GraphQL playground should be referenced and described in the guides, additionally code examples should also link directly to an appropriate section in the reference docs (https://docs.testnet.vega.xyz/api/graphql/).
- For signing of transactions, the Vega wallet uses a set of REST APIs. It is not necessary to describe how to sign transactions in detail, however signing of transactions will need to be discussed and coded into the app if using the signing feature.
- We would love to see the following aspects of the protocol* to be covered by the showcase:
- Listing markets and market data (including market status)
- Streaming of orders and trades
- Party (trader) information for a given public key, including account balances and positions.
- Prepare and place an order on a market
- Streaming of events
- Governance proposals
* please feel free to discuss the list with the team when designing the solution, this is a subset of the protocol and one to one guidance is available to understand how the protocol operates.
- Code and documentation should be open sourced under the MIT license.
- Design or CSS styling of the showcase app should align with the Vega branding and we'd suggest minimal styling if using a common UI framwork.
Familiarity with Vega
We're an exciting blockchain project with a public testnet (https://fairground.wtf), we're adding new features all the time therefore we'd love anyone interested in completing our hackathons to get to know our platform first. We feel it is very important for you test out the platform, check out our documentation and understand the way the protocol works. We're friendly, open and helpful, so don't be afraid to ask questions.
How to Submit
Publish your submission into a public Github repo with clear and informative README describing how to use it, a video or demo of the app in use is strongly recommended.
Hackathon prizes
Prize pool of $10000 USD worth of $VEGA.
Up to $2500 USD worth of $VEGA per prize winning submission.
Note: 50% available on award, with remainder unlocking linearly over 6 months.
Judging critera
Prizes will be awarded to the individuals/teams that produces the best approach and while respecting the challenge description. The Vega team will judge each submission on its own merit with a minimum level of quality and features delivered. Work has to meet sufficient quality and a level expected by the judge to be awarded a prize. The Vega team has the final say in any/all rewards.
Resources for Developers
Questions & Reviews
You can reach out to us for any queries on our Discord Chat or post your questions in our Community Forums
We're a friendly team and are very keen to help where possible. We love teams who interact and get feedback before submitting their final code.
Let's buidl on Vega!