Skip to content

eoscostarica/eos-rate

Repository files navigation

TravisCI StandardJS Collaborative Etiquette follow on Twitter MIT

A Rating Portal for the EOS Community

EOS Rate is a community-driven visual rating tool that allows EOS token holders to easily rate Block Producers in distinct categories.

The rating system is based on a radial graph representing the most important qualitative aspects (let’s call them categories) of a block producer, populated with ratings provided by the input if the EOS community, and stored on the blockchain.

It will also provide basic quantitative information, a compare tool, dynamic filtering and links related to each BP (block producer), in order to fully inform the potential voter, but also let them share their ratings.

Each EOS account can submit their rating for each BP as many times as they like facilitating a "liquid democracy", however, the weighting is independent from the amount the EOS account holds. One account = one submission of equal weight.

Test Environment

We are testing this application on the Jungle TestNet. The Smart Contract is code deployed under the account rateproducer.

The staging branch contains our test environment. This UI is currently available at https://jungle.eosrate.io:8080

We are running the application infrastructure on premises in San Jose, Costa Rica.

Feature Roadmap

Version 1.0

  • List and Search Block Producers.
  • Scatter and Lynx Wallet Integration.
  • Autogenerated Block Producer profile pages with
    • BPJSON info.
    • Ratings results.
    • Rating UI for token holders to rate that block producer.
  • Compare Block Producers page
  • Ability to superpose different BPs ratings flake charts.
  • Home page with explanation and instructions.
  • Languages: English & Spanish.
  • Light Theme.

Version 1.2

  • Activity Stream.
  • Ability to leave a comment when rating. ( reviews, like Yelp ).
  • Ability to vote for a block producer directly on their profile page.
  • Languages: Chinese and Korean.
  • Filtering Block Producer List.
    • by Strengths: transparency, community, infra...
    • by Region.

Version 1.3

  • Proxies landing page with:
  • Voice identity layer for EOSRATE
  • List and search proxies.
  • EOS Rate Proxy for top rated BPs

Architecture

App Services

  • webapp: http://localhost:3000
    A React JS Web Client based on create-react-app that starts up at the available port (default is 3000).

  • hasura http://localhost:8088
    Autogenerated GraphQL API based on the PostgresDB Schema. Run make hasura to start the management console.

  • pgweb: http://localhost:8082
    Web-based PostgreSQL database browser written in Go running on a linux alpine container.

  • demux: Deterministic event-sourced state and side effect handling for blockchain applications. Updates ratings stats in postgres when new ratings are detected on the blockchain.

  • hapi: A back end service for synchronizing rateproducer blockchain tables with postgreSQL.

  • EOSIO Node: https://eos.edenia.cloud
    fill-pg fills postgresql with data from nodeos's State History Plugin.

Note: This project is based on EOS DApp Boilerplate.

Development Setup

Basic knowledge about Docker, Docker Compose, EOSIO and NodeJS is required.

Install Global Dependencies

Run EOS Rate on your Computer

git clone git@github.com:eoscostarica/eos-rate.git
cd eos-rate
make dev

Design Assets

Zeplin Artboards

Contributing

We use a Kanban-style board. That's were we prioritize the work. Go to Project Board.

Contributing Guidelines https://developers.eoscostarica.io/docs/open-source-guidelines.

Please report bugs big and small by opening an issue

About EOS Costa Rica


EOS Costa Rica is an independently-owned, self-funded, bare-metal Genesis block producer that provides stable and secure infrastructure for EOSIO blockchains. We support open source software for our community while offering enterprise solutions and custom smart contract development for our clients.

eoscostarica.io

License

MIT © EOS Costa Rica