Current pledges- Anonymous: 0 BTC (send to 12Ar9TeVxz4Bjf22dossLMdVMv7vpMJFce)
- CFSworks: 10 BTC
- jedi95: 5 BTC
- Total: 15 BTC
OverviewThis bounty is for a JavaScript- (or perhaps Python-) based web control panel for the Phoenix 2 miner, which must:
- Be open-source - MIT/X11 is preferred since the rest of Phoenix is written in it, but BSD makes sense too. (L)GPL is fine, but AGPL may upset users who wish to introduce their own modifications.
- Be entirely self-contained - The web control panel cannot rely on external webservers, databases, etc. It must be served and operated entirely from the web/RPC server builtin to Phoenix 2. This means it must be pure-JavaScript (accessing the RPC server of the Phoenix instance that served it) and/or use Twisted .RPYs in the server.
- Have a first-time setup wizard - Upon first startup, the web interface needs to attempt a login with the default password ("phoenix")... If this password works, it should start a setup wizard that allows the user to set a more secure password, choose autodetect (GPU-only, GPU+CPU, no autodetect), and pick a backend.
- Be capable of managing devices - If the default password does not work, the control panel prompts for a password, then takes the user to a page listing all of their devices, with hashrates for each. The user should be able to disable/suspend/restart their devices from this page.
- Look professional - This is more subjective than the others, but please make the page look nice. It doesn't need to be full of images and flashy animations, but a white page with hyperlinks is not appealing.
To developers seeking to claim this bounty:When developing this, you should probably make a GitHub fork of the repository
here as a matter of practicality. The code there can already handle logins, password creation, and dropped connections. There are "DEVAID NOTE" banners at the top of each JavaScript file indicating what needs to be done for each. Finally, everything there is MIT-licensed (even though I didn't explicitly say as such anywhere in the repository).
You might even choose to throw out all of the JS and start anew - but please do fork the repository, since it makes it easier to keep track of progress.
Rules for bounty paymentThe control panel must meet the criteria above, which are subject to change (I will keep a changelog and track how much of the bounty is pledged to which version of the criteria).
When the bounty is about to be paid, it will be announced 48 hours in advance. This allows the pledgers time to voice concerns that the finished product does not meet criteria. The bounty will not be paid if 50% of the pledges (by number of BTC) can agree that the control panel is not finished. Anonymous pledges are not counted.