hicommonwealth / commonwealth

A platform for decentralized communities
https://commonwealth.im
GNU General Public License v3.0
66 stars 40 forks source link

Contest Worker/Sequencer #6989

Open ianrowan opened 4 months ago

ianrowan commented 4 months ago

Description

To fulfill the product requirements of a gas free UX for Contests, a Worker/Transaction sequencing system should be built to handle pushing content and votes on-chain.

The proposed architecture for this is a queue worker/consumer with the platform itself being the message producer. We can use our existing RabbitMQ queue to handle messaging, while only requiring the platform to pass simple messages for content and votes(ie createThread and reactions) that have an associated contest. The consumer itself will need the following capabilities

  1. A funded EVM private key & way to store this
  2. Access to RPC nodes for the valid networks
  3. ABIs for contest function calls
  4. Listening and consuming from the newly created RMQ Queue.

Project Owner

@ianrowan @zakhap

Engineering Requirements

Acceptance Criteria

Additional context

ianrowan commented 4 months ago

@egetekiner here's the ticket for the contest worker. It looks like Platform team might be working on this too just fyi: #6822

CowMuon commented 3 months ago

NB. There can only be one project owner. @zakhap @ianrowan

CowMuon commented 3 months ago

@Rotorsoft Anything else needed here for execution on platform side?

Rotorsoft commented 3 months ago

As @ianrowan mentioned above, this sounds pretty close to what @rbennettcw is doing in #6822. Looks like we can merge both tickets (on the platform side)