Vega GraphQL Guides With Walk-Through App [Available]

Github Issue (https://github.com/vegaprotocol/bounties/issues/6)
Gitcoin link (https://gitcoin.co/issue/vegaprotocol/bounties/6/100025586)

Please see Github issue or Gitcoin bounty page for full details, including how to apply to participate :heart:

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

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 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.

The task we’d like to see completed for a bounty reward is to create a set of GraphQL how-to guides with an accompanying open source walk-through app which shows how to integrate with Vega.

This task is ideal for someone with Javascript knowledge and a passion for, or desire to learn GraphQL. We’re looking for a front end client application for the walk-through/showcase, as it’d be good for the walk-through app to have a visual element e.g. listing orders, streaming events, etc.

Acceptance criteria

  • Design and create a showcase application and a set of supporting how-to guides that describe how the application works, primarily the queries made to Vega.
  • The application should be web based, using Javascript and GraphQL. The app could be written in vanilla JS or using and a simple to understand framework such as React or Svelte.
  • The how-to guide source files should be written using Markdown, so that they can be incorporated into the Vega documentation in the future. Ideally they should be output to web pages using a static builder like Hugo (https://themes.gohugo.io/theme/hugo-book/) and use a similar presentation style to the Vega docs theme (we can supply CSS/guidance if needed).
  • 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.
  • We would like 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
      * 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.

Familiarity with Vega

We’re an exciting blockchain project with a recently launched public testnet, we’re adding new features all the time therefore we’d love anyone interested in completing our bounties 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 to complete our bounties to a high standard. We’re friendly, open and helpful, so don’t be afraid to ask questions.

How to apply and progress

bountyflow

How to Submit

Publish your submission into a public Github repo with clear and informative README describing how to use it.

Bounty reward

For this bounty, we will provide a bounty reward of up to 1501 DAI, by working on the bounty you understand and accept that this is the reward total available. Finally, please check with us and keep in touch with the Vega team to ensure the solution is acceptable.

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.

Keep Calm and Buidl On!

As of July 2021, this bounty task is available for the applicants, please reach out to us in #developer-chat or #bounty-support on Discord if you’d like to get started working on it → Vega

Thanks!