Community Bounties are bounties made available for the community to work on, with a reward available for completing some or all of the work for each bounty. Bounties are created by Jsgenesis and managed by the council. The bounties can be for a variety of tasks including coding, producing documentation or producing media content. Community Bounties are submitted via a proposal on the platform and may also include a Pull Request within this repo.
The forum is the primary place for discussion of bounties, and you can look through the "Joystream Bounties" forum category for more details about current bounties. Each time a new bounty is added there will be a forum thread created for discussion of the bounty: https://testnet.joystream.org/#/forum/categories/10
If you have questions about a bounty or want to apply for a bounty, you should primarily use the forum. but you can also ask on Telegram. If you plan to work on a bounty, you should let others know this via the forum so that multiple people do not work on the same thing.
You can read more about Community Bounties on the Joystream Helpdesk repo: https://github.com/Joystream/helpdesk/tree/master/roles/builders#community-bounties
ID | Title | Issue | Opened | Reward | Forum Thread | Status/Grading | PR | Proposal |
---|---|---|---|---|---|---|---|---|
1 | Update Telegram Bot | #23 | 23.09.20 | $300 | 118 | Closed ($300 - 01.11.20) | #36 | 32 |
2 | Testing of 'polkadot-js' | #32 | 23.09.20 | $200 | 129 | Closed ($200 - 05.01.20) | #67 | 87 |
3 | Improve Telegram Bot(s) | #41 | 08.11.20 | $225 | 130 | Closed ($25 - 05.12.20) | #47 | 49 |
4 | Improve Telegram Bot(s) | #51 | 05.12.20 | $225 | 158 | Completed | NA | NA |
5 | JS Telegram Sticker pack | #52 | 05.12.20 | $400 | 169 | Closed ($300) | NA | NA |
6 | Increase Validator Research | #71 | 17.01.21 | $200 | 186 | Closed ($200 - 13.02.21) | #77 | 116 |
7 | Joystream Player Loading | #85 | 15.02.21 | $400 | 214 | Closed (Withdrawn - No interest) | NA | NA |
8 | Ledger on Joystream | #86 | 15.02.21 | $300 | 215 | Closed ($450 - 13.05.21) | #171 | 56 |
9 | Repo/Docs Improvements | #87 | 15.02.21 | $400 | 216 | Closed | NA | NA |
10 | Upload Public Domain Content | #88 | 15.02.21 | $5* | 217 | Closed | NA | NA |
12 | Deploy Reliable Endpoints | #101 | 12.03.21 | $200 | 324 | Completed | NA | NA |
11 | Design Community Repo Banner | #89 | 15.02.21 | $250 | 218 | Closed ($300 - 13.05.21) | NA | NA |
13 | Research Discord Bots | #123 | 12.03.21 | $200 | 326 | Closed ($450) | #131, #133 | NA |
14 | Polkadot/Substrate Videos | #142 | 19.04.21 | $50 | 358 | Closed | #157 | 35, 37, 37, 40, 41 |
15 | Transcribe Community Updates | #143 | 20.04.21 | $400 | 363 | Closed ($375 - 15.06.2021) | #199 | 166 |
16 | Translation of Community Update Videos | #144 | 10.04.21 | $400 | 510 | Closed | NA | NA |
17 | Discord Video Bot | #151 | 20.04.21 | $100 | 362 | Completed | NA | NA |
18 | Original Video Bounty | #162 | 29.05.21 | $500 | 422 | Open | 319 | 488 |
19 | Validator Logging Tool | #161 | 20.04.21 | $400 | 381 | Completed | #242 | 382 |
20 | Github Bounty Guide | #220 | 04.07.21 | $350 | 492 | Closed | NA | NA |
21 | Website Translation | #493 | 28.06.21 | $500 | 493 | Closed | NA | NA |
22 | KPIs Web UI | #280 | 23.09.2021 | $250 | 703 | Closed | NA | 604 |
23 | Runtime Update Explanation | #289 | 14.08.21 | $65 | 541 | Closed | 734 | 1264 |
24 | Upload Content | #295 | 17.09.2021 | $300 | - | Open | PR | 481 |
25 | Joystream Superstar Blogger | #311 | 21.08.2021 | Non objective | 557 | Closed | NA | 461 |
26 | Joystream and other video platforms | #342 | 12.09.2021 | $500 | 594 | Closed | NA | 562 |
27 | Official music theme | #384 | 23.09.2021 | $400 | - | Closed | NA | 606 |
28 | Educational Content | #390 | 04.10.2021 | $250 | - | Closed | NA | NA |
29 | Update Featured Video | #398 | 06.10.2021 | $180 | - | Closed | NA | 547 |
Part of the job for the Council is to manage these bounties. The tasks associated with that are:
- Familiarizing themselves with the tasks specified in the issue
- Seeking further information from Jsgenesis on any ambiguous or missing items
- Deciding on the format, full workflow and process required
- Creating a forum thread with:
- Link to the issue with full description
- Specify the format and workflow
- If applicable:
- list what it takes to be assigned the bounty
- assign a dedicated manager for the bounty
- set milestones/timelines
- Update the json in accordance with the schema. See explanation here.
- Assign a community member
*
, and update json - Follow up as required
- Once a non-final spending proposal
**
is made:
- Ensure it's in line with the workflow set
- Review the work submitted
- Approve if appropriate
- Once the final spending proposal is made:
- Ensure it's in line with the workflow set out
- Verify the Jsgenesis requirements are met (eg. a PR is made)
- Review/grade the work submitted
- Check if the requested funds matches the expected payout(s)
- Approve the spending proposal
- Tag @bhwm and @blrhc to review
- After the PR is closed, regardless of result, update json
The Bounties displayed on our website here is read from this json file.
Because of this, it's quite important the Council updates this json as soon as a change occurs, so anyone visiting the website gets the correct information. Making sure the json is updated correctly is even more important, as even a small formatting error will "break" that section of the website. Verifying the json against the schema can be done here.
Here are some rules:
- As soon as a new issue, with a new Bounty is created, Jsgensis will create a PR (and request permission to merge) updating the json with required properties:
id
title
description
openedDate
links
reward
tags
- The Council will then create forum thread, and add the new link to the
links
array. Note that this new link must be added before the link to the issue to replace the link on the website. Any other changes that has been made (in agreement with Jsgenesis) can also be made. - Although it will not change the presentation on the website, the
status
andformat
should also be updated every time it changes. - Once the Bounty is completed, it should be moved from
activeBounties
toclosedBounties
, in addition to addingclosedDate
.
Note that this schema may change over time, so always verify against the schema, even if you are "sure" it's correct!