bitshares / bitshares-ui

Fully featured Graphical User Interface / Reference Wallet for the BitShares Blockchain
https://wallet.bitshares.org
MIT License
517 stars 570 forks source link

New voting tab for proxies? #2932

Open cloud-8 opened 5 years ago

cloud-8 commented 5 years ago

Is your feature request related to a problem? Please describe. Proxies play an important role in Bitshares. Often users do not have time to analyze every single proposal and instead may opt to proxy their voting power to someone else who they believe can represent their interests in voting. The problem is knowing who these people are is difficult and there is no single location to get this information, its often a case of trying to browse the forums or asking random people on telegram. Knowing what proxies vote for easily is another issue.

Describe the solution you'd like Another tab in 'Voting' in the UI where a user can see a list of proxies by voting weight. It would also be good to take this opportunity to perhaps list additional fields like a link to the proxies voting forum thread or communication area.

Describe alternatives you've considered

Additional context

sschiessl-bcp commented 5 years ago

I generally like the idea, it brings a couple open questions as to the definition and way of presenting (e.g. how sorting affects setting).

Did you have something more specific on that in mind already?

startailcoon commented 5 years ago

REST API Call for proxies with significant voting weight can be found on https://explorer.bitshares-kibana.info/apidocs/#!/governance/api_explorer_get_top_proxies

An option would be to display them in a table with useful information, such as % of shares, followers and last updates on votes. It should also be expendable to view the votes casted, which comes from account->options->votes. We also need to make sure that account->options->voting_account is set to "1.2.5" (proxy-to-self) since you can't use proxied votes when you use a proxy. Something that would also be worth noting if we have someone with followers that does not proxy-to-self.

Another thing that would be very useful, but that I can't see how we could solve today, is to see when the proxy last changed their votes. Also to view when something was voted on. But as said, this is not possible today, but could perhaps be a job for ES.

ES also need to break up the results to pages if I ever start to use this. Today the command will load a list of all users to display the bts_weight. This needs to be optimized as loading can take quite some time, and if we have a whole community requesting this list it can be a large load on the server.

Example Result

[
  {
    "bts_weight": 11680618062639,
    "bts_weight_percentage": 5.6081654164356625,
    "followers": 210,
    "id": "1.2.16003",
    "name": "michaelx"
  },
  {....

Example Table

Name Shares Followers Last Update View Voting Use Proxy
michaelx 5.6% 210 201x.xx.xx [expand arrow] Set Proxy to this
Expanded voting details stuff here -
michaelx 5.6% 210 201x.xx.xx [expand arrow] Set Proxy to this
michaelx 5.6% 210 201x.xx.xx [expand arrow] Set Proxy to this