A proposal for Bitocracy information dashboards

Hello Sovryn team, this is Nubis from Constata.eu.

We’re a company formed by software engineers and lawyers, established as an electronic trust service provider in Spain. (Prestadores de Servicios Electrónicos de Confianza)
You may know us as RSK powpeg federation members: RSK Powpeg Members. We’re also Sovryn users.
Our mission is to identify and help solve the “trust” gaps and challenges that currently exist in anonymous decentralized ecosystems.

I’m writing to you today with a proposal to develop the dashboards for Bitocracy finance and for voting power.

Background:

Sovryn is an ecosystem of tools for decentralized self-sovereign finance governed by its stakeholders through a proposal and voting system known as Bitocracy.

The Bitocracy system is transparent and open for anyone to participate.

In order to do so, users pledge their assets which may be used to fund operations, and they may receive rewards for participating.

Participants need to understand and stay informed about the voting power and financial status of the Bitocracy system.

For this reason, Sovryn has published 2 requests for proposals (bounties) for developing and hosting dashboards displaying information about the voting and financial aspects of Bitocracy.

Further details available at Bitocracy Voting Power Dashboard | sovrynbtc Funded Issue Detail | Gitcoin | Gitcoin and https://gitcoin.co/issue/27889

Project goal and scope:

Constata offers to develop both dashboards and host them for at least 6 months.

The dashboards will be developed using the react js framework, in typescript, using the material UI libraries.

They will be responsive, fully compatible with the specified mockups on desktop browsers, but leaving out some of the displayed information when viewed on smaller screens.

UI components will be themed to closely resemble the predominantly dark theme currently used in https://www.sovryn.app/

Constata will rely on the public RSK block explorer for querying the data to be displayed, we will not run our own node.

The dashboards won’t perform server side calculations, storage, or data caching.

Hosting will be under a dedicated domain (audited.cloud), served over TLS, set up on a dedicated VPS, using cloudflare as CDN and to mitigate DDOS attacks.

The software will be initially available in a public github.com repository under the constata-eu organization with a reduced group of collaborators, but ownership may be changed to Sovryn upon delivery.

While hosted in a domain registered by Constata, the dashboards won’t use cookies, may feature legal notices to comply with european data protection and website ownership regulations, and may also show other disclaimers of liability.

Prerequisites and requirements:

Some complex calculations may need further specification, and it’s not clear to us how they interact with the provided smart contract data sources.

We will need assistance from someone in the Sovryn team that is knowledgeable about the Bitocracy cost to attack calculations, and also knows all the contracts referenced in the specification to make sure we’re using the data sources correctly.

These requirements may be blocking, and prevent the dashboards from being delivered on time.

Support and Warranty:

Constata will host and give support to the dashboards for 6 months after delivery.

This includes bugfixes, and adapting to changes in the referenced contract addresses or parameters in the calculations.

Constata will monitor the availability of both dashboards, and will resolve downtime in a reasonable time.

The Sovryn team can contact Constata at any time for reporting any issue. Constata will not give end user support.

The dashboards may be a critical tool for taking financial decisions, Constata will not be liable for any damage or losses caused by errors in the software, outdated data sources, or downtime of the service.

Support may be extended upon Sovryn’s request.

Price and timeframe:

Constata will receive 9500 DOC for both dashboards. Being this is our first contract with Sovryn, and given the challenges of the DAO to benefit from contract law, we will be taking 50% of the payment upfront, 30% upon delivery, and 20% after the 6 month after-sale support and hosting period has elapsed.

Work will start as soon as the first payment is received. Development will take 6 weeks. We’re taking holidays from dec 23 to jan 2. As stated above, we will need support understanding some of the requirements, specially regarding the correct interpretation of the data exposed by the smart contracts. If nobody from sovryn is available during this 6 weeks, we’ll try to take our best guess, and any quirks in the use of those data sources can be reviewed and fixed during the 6 month after sale period.

Failure to deliver, when attributable to Constata, will allow Sovryn to choose between one month of extended support for each week the project is late, or cancellation and total reimbursement from Constata.

12 Likes

Thank you, Nubis, for approaching us so professionally with this well-thought-out proposal and making it public. Having Victor review the proposal to ensure it is sound & then we shall engage hopefully within a week.

4 Likes

This seems like a great proposal! And (as mentioned by @Ingalandia) thanks for approaching the community here with such a thorough description, and not just by jumping into the telegram with a simple one-liner! I can’t comment on the technical aspects of the proposal, but this looks like a great opportunity for all parts!

Thanks @nubis ! I have reviewed the proposal and support its approval by the community.

3 Likes

Thank you for this great proposal.

I think it is safe to assume that there is a great desire for such a dashboard among the user base. The bitocracy as well as interested Sovryn users benefit from such a dashboard and i think it is worth every penny. I support this proposal.

2 Likes

Hey, there is a significant blocker I see: you mentioned that public nodes will be used, and you will not run any calculations on the server side. RSK public nodes do not expose a method to query contract events, and bitocracy contracts rely heavily on the events.

This is an issue we are also having with the current UI, and thinking of fixing it by adding the graph protocol.

So basically, I’m ok with the proposal, but calculations should be done and cached on the server side :slight_smile:

1 Like

Hi Victor,

I see. When I was reviewing the mockups and the contracts, I did not see any section that called for real-time refreshing, so I initially thought this could be solved with really lax polling of the block explorer from the dashboards.

There were some questions about fetching some of the data, and performing calculations, but I imagined it was all readily available in the contracts, with some minimal client side processing.

This is not a deal breaker though. The dashboards will run in their own VPS, behind cloudflare, so we can build a small graphql server in rust to provide digested data to the dashboards, and setup a managed postgres db for persistance.

All for the same price. But in exchange, we may need more help from the Sovryn team telling us how to consume and interpret these events. As I have overlooked this, I’m not so confident my understanding about these contracts is as good as I thought.
Any resulting technical writings and specifications about usage of the bitocracy contracts will enrich the project’s documentation.

2 Likes

Let’s pause this proposal until we can get a better idea of the requirements. Running a full RSK node for 6 months is not something we had in our budget. If you can provide a node we can connect to, then we can resume. Otherwise we can’t do it for this price.

Where can I read more about the specifics of the data points needed? The bounty proposals had links to them but seem to be broken.

Best!