Commiteth.md
1 ## Testing CommitETH 2 3 We have a continuously deployed version tracking the `development` 4 branch live at <https://commiteth.com:444>. It uses the 5 [Ropsten](https://ropsten.io/) Ethereum testnet. Any one is welcome to 6 use it and your help with testing CommitETH is greatly appreciated\! 7 8 ### General 9 10 For testing you will need: \* a web browser (Chrome is known to work, 11 testing with others appreciated) \* an Ethereum account on the Ropsten 12 testnet \* a Github account with administrative access to one or more 13 repositories \* for approving bounty payouts you will additionally need 14 access to an Ethereum wallet. So far, Mist and 15 [MetaMask](https://metamask.io/) have been used, but anything that 16 provides the web3 javascript interface should work. 17 18 The developers can be reached on the `#commiteth` channel in the [Status 19 slack](http://slack.status.im/). 20 21 ### Signing up 22 23 - point your browser to <https://commiteth.com:444> and click `Sign 24 in` 25 - grant CommitETH read access to your public profile 26 27 You should now see `Activity`, `Open bounties` and `Manage payouts` 28 tabs. In the upper right hand corner, there should be a dropdown with 29 `Update address` and `Logout`. 30 31 ### Connecting your wallet 32 33 (instructions for Metamask) \* install Metamask + configure your account 34 \* select `Update address` from the top-right dropdown and click 35 `Update` 36 37 ### Creating bounty issues 38 39 Before you can create bounties, you need to have administrative access 40 to one or more repositories. These can be either in the scope of your 41 personal user account or in the scope of a Github orgnazation. 42 43 - click the `Repositories tab` 44 - grant CommitETH the needed addtional permissions for managing 45 repository webhooks, adding and modifying comments 46 - now you should see your repositories, click `Add` on one. This 47 should cause the `bounty` label to available in the repository's 48 labels and a new webhook should now exist for the repository. 49 - now, add the bounty label to a new or an existing issue. This should 50 cause CommitETH to post a new comment for the issue containing an 51 image with text `Deploying contract, please wait` 52 - once the contract has been mined, the comment will be updated to 53 contain the bounty contract's address and a QR code 54 55 ### Funding bounties 56 57 The Github comment has a QR code as an image containing the bounty 58 contract address. The address is also on the comment as text. Use any 59 ethereum wallet to send ETH and/or supported ERC20 tokens to this 60 address. After a small delay (max 5 minutes), the activity feed should 61 show that the related bounty issue's balance increased and comment 62 should be updated. 63 64 ### Submitting claims 65 66 Open a pull request against the target repository with `Fixes: #NN` in 67 the comment where `NN` is the issue number of the bountied Github issue. 68 After the PR has been opened, the activity feed should show an item 69 indicating the your username has opened a claim for the related bounty 70 issue. The repository admin should also see the claim under `Open 71 claims` in the `Manage payouts` view. 72 73 ### Managing payouts 74 75 Repository admins see a listing of all open claims and bounties that 76 have already been paid out. The `open claims` listing includes unmerged 77 claim pull requests and merged pull requests. Once a claim pull request 78 has been merged, it is selected as the winning claim. The repository 79 admin will still need to sign off the payout with his connected Ethereum 80 wallet. This is done with the `Sign off` button. Once the payout 81 transaction has been mined, the activity feed view will show that the 82 claimer received the bounty funds. All tokens and ETH will be 83 transferred to the claimer's Ethereum address. 84 85 ### Reporting bugs 86 87 All bugs should be reported as issues in the [CommitETH Github 88 repository](https://github.com/status-im/commiteth/issues). 89 90 Please first check that there is not already a duplicate issue. Issues 91 should contain exact and minimal step-by-step instructions for 92 reproducing the problem.