Send real-time updates from Vega's testnet to Telegram, Discord and Twitter [In-progress]

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

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

On a Vega network there’s a lot of real-time data generated that could be easily and concisely shared with the world. Examples could include; when a new market is proposed via governance, or when an existing market enters a price monitoring auction state. We’re thinking this could be made available by creating a ‘bot’ like service that connects to Vega’s public testnet and shares informational updates to a set of popular social platforms (Discord, Twitter, Telegram, etc).

We’ve already built and hosted a simple REST based gateway service to make it easy for you to send messages to Twitter, Discord and Telegram. There’s no need to build these social network integrations. We will provide you with test credentials and test channels during development.

Acceptance criteria

  • Connect to Vega’s APIs and build a mechanism to listen for the kinds of events that are of interest. We recommend using the gRPC (see open source gRPC clients) or GraphQL APIs (see GraphQL playground), both support streaming data. REST APIs are available but loading data requires polling and we would advise to use streaming connections.
  • Connect and send updates to social networks via the REST based gateway service we have built, to Twitter, Discord and Telegram. There’s no need to build the social network specific integrations, but you will need to POST messages to the gateway service to relay them.
  • We would like the new serve to broadcast the following events* as a minimum, but feel free to discuss with us and add more:
    • New Market Proposal created, updated, enacted
    • Market price monitoring auction started/ended
    • Network has been reset (network ID has changed/block height reset)
    • Rekt alerts (large liquidations)
    • Whale alerts (large buys/sells etc)
    • Loss socialisation alerts (distribution of funds generated by defaulting traders)

(*for each of these it’d be fun to co-create the message format and give guidance on how to obtain the data - chat with us on Discord, Forums, Github or Email)

  • Code should be open sourced under the MIT license.

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 Submit

Publish your submission into a public Github repo with clear and informative README describing how to use it. The submission should include an animated gif or video of the app posting to social channels - working against the Vega Testnet. Although it is not required, you may like to host the service live for the duration of the bounty, we can assist with hosting the finished service on our virtual machines if required.

Bounty reward

For this bounty, we will provide a bounty reward of up to 701 DAI, by working on the bounty you understand and accept that this is the reward total. Finally, please check with us 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 here on the community forum topic.

We’re a friendly team and are very keen to help where possible.

Keep Calm and Buidl On!

Update: Thanks for the overwhelming interest in this bounty! And as of Friday 12th Feb 2021, we’ve accepted @baldator to participate on work for this bounty. Look forward to seeing those first events posted from the service :postbox: