Interaction with the eosio-wps
npm install
npm run serve
npm run build
npm run lint
EOS Worker Proposals Frontend
Interaction with the eosio-wps
npm install
npm run serve
npm run build
npm run lint
Please add the following question/answer to the FAQ section, after the "Who can participate in voting on EOS WPS proposals?" question:
Q: How much work can be expected to get a proposal funded?
A: Data from other WPS shows that a lot of work is required to get a proposal funded. It is up to the proposer to seek and obtain votes on the proposal. The network does not provide guidance, nor guarantee, as to how to get funded.
Please update the answer for the "Is the 100 EOS fee ever refunded?" question as follows:
No, the fee is non-refundable once the proposal has been published. However, during the draft period of a proposal, the deposit of 100 EOS can be refunded.
When a user executes claim
, there's no pop-up/chip appearing to show it was successful transaction.
It would be helpful if the UI could show how much was claimed.
The claim amount can be pre-calculated by applying a delta from that proposal:
proposals::payouts
- proposals::claimed
= expected claim return
Add a language toggle, and ideally automatically detect the user’s language and present the UI in the appropriate language.
Support for English, Chinese and Korean only for now. We can provide Chinese and Korean translation of “about” content and all UI elements.
Allows the proposer
to post metadata about themselves:
metadata_json
(example)proposers
{name} proposer
- proposer of proposal{map<name, string>} metadata_json
- a sorted container of <key, value>{
"proposer": "myaccount",
"metadata_json": [
{ "key": "region", "value": "global" }
]
}
setproposer
Set proposer's metadata
proposer
proposer
{name} proposer
- proposer of proposal{map<name, string>} metadata_json
- a sorted container of <key, value>cleos push action eosio.wps setproposer '["myaccount", [{"key":"region", value":"global"}]]' -p myaccount
Display a countdown of the number of days remaining in the period at the top of the page
This is a nice-to-have enhancement request
The list view of Active Proposals should enable you to see many proposals at the same time without scrolling. The cards for proposals in list view are currently tall, containing a lot of vertical blank space, limiting the number of proposals that can be viewed at once.
Reduce the vertical space used by proposals in list view, and the space between them, similar to how they appear in DASH Nexus.
nice-to-have: allow the cards to be expanded to display additional info and a graph of votes over time.
Currently users are prompted to sign in as soon as they land on the website. They're not able to browse the proposals until they sign in or dismiss the prompt in Scatter.
Users should only be prompted to sign in when clicking the sign in button or attempt to take some action that requires they are signed in.
Users should be able to browse proposals without being interrupted.
To help further discussion, would be ideal to have the proposer
be able to include in the draft::metadata_json
:
That way those discussion channels are "authoritative" groups created by the proposer.
Consider using the transit API, which includes support for many different EOS wallets:
https://github.com/eosnewyork/eos-transit
They don't support EOS Authenticator (B1's iOS wallet), which would be a good additional wallet to support.
Change proposal status heading:
Paid proposals -> Passing proposals
Unpaid proposals -> Not meeting threshold
Check eligible proposer (disable submitdraft & activate)
This check prevents proposer
to also be voter
Using the Upvote/Abstain/Downvote actions with a non-BP (or BP but not paid) account gives an "Unexpected error" message. I could see this being confusing for people that aren't aware that only paid BPs can vote.
Add a way to view old proposals from previous periods
(nice-to-have - not urgent)
Please update the "Voting periods and funding" section as follows:
A maximum budget of 50,000 EOS will be made available for each 30-day voting period. The period budget and duration are settings within the WPS smart contract that can be adjusted by MSIG approval from 15 of the top 21 Block Producers.
eosio.wps is funded from the fees accumulated in the eosio.names and eosio.ramfee accounts prior to the deployment of REX. Prior to REX, these accounts accumulated roughly 3.5 million EOS from EOS premium name auctions and RAM purchase fees. An MSIG approval from 15 of the top 21 Block Producers is required to move those funds to eosio.wps.
Any on-going fees being collected by eosio.names
& eosio.ramfee
will continue to flow to REX holders and shall not be transferred to eosio.wps
. Funds flowing into REX will not be affected by this proposal.
We’ll propose to transfer 50,000 EOS, or two periods worth, to the eosio.wps account upon activation of the EOS WPS system. We’ll propose a top-up of another 25,000 EOS one month ahead of each period. This gives the top 21 the flexibility to discontinue the WPS system at any time by simply not funding it.
It would be nice if there was some way to see who is voting for a particular proposal
The video URL I provided in the "setup" step of the proposal doesn't appear anywhere on the proposal for those viewing it.
comment
If we could add a discussion/comments
section to the UI with the following features:
comments
proposal_name
index_position = 2
comment_json
schema can be very simple initially:
Note: Accounts can only comment once per proposal, however, they can edit/delete their comment during the proposal's
active
status.
comment
account
account
{name} account
- account name{name} proposal_name
- proposal name{map<name, string>} metadata_json
- a sorted container of <key, value># create/modify comment
cleos push action eosio.wps comment '["myaccount", "myproposal", [{ "key": "text", "value": "my comment" }]]' -p myaccount
# delete comment
cleos push action eosio.wps comment '["myaccount", "myproposal", []]' -p myaccount
comments
proposal_name
account
param |
index_position |
key_type |
---|---|---|
timestamp |
2 | i64 |
{name} account
- account name{time_point_sec} timestamp
- last time created/modified{uint16_t} version
- version number{map<name, string>} metadata_json
- a sorted container of <key, value>{
"account": "myaccount",
"timestamp": "2020-03-26T12:00:00",
"version": 0,
"metadata_json": [
{ "key": "text", "value": "my comment" }
]
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.