March is over and along with it our development bounty program for the month. A huge thanks go out to our talented community developers who are continuously helping us out!

We remain deeply thankful for those who contribute on regular basis and are always thrilled to see new faces. Be sure to spread the word about our bounty program with your developer friends.

Don’t know what this is about and want to get involved?

Please have a read at : https://bounty.ark.io

We have several issues that have fixed bounties assigned to them (tier 0 and tier 1). You can see the list here and choose one to tackle by requesting assignment of it on Github. In the upcoming weeks you can expect much more of the predefined tier 0 and tier 1 tasks (not just in ARK Core and ARK Explorer repos, but others as well). We will list them in their respective repositories along with posting them here monthly.

Tier 0 Open Projects

ARK Core

ARK Explorer

Tier 1 Open Projects

ARK Core

And here are the participants and winners of the March 2019 Github development bounty program!

March 2019 Participants

dated — $590 USD

Number of pull requests: 29

feat: make voting easier with delegate modal 2019–03–01 10:32:58 — desktop-wallet#1027 — $100 USD

docs: update code snippets and more 2019–03–26 10:30:45 — docs#346 — $50 USD

feat(core-api): more parameters for delegates search endpoint 2019–03–06 07:28:19 — core#2184 — $50 USD

feat(core-api): add active delegates endpoint 2019–03–06 15:54:41 — core#2205 — $50 USD

feat: add tooltips to block details with the value, in currency, of amount and fees 2019–03–18 11:19:51 — explorer#581 — $50 USD

refactor: fetch from store instead of api 2019–03–05 18:05:36 — explorer#584 — $25 USD

feat(core): add restart flags to update command 2019–03–11 03:10:27 — core#2218 — $25 USD

fix(core-database): return array instead of joined string from applyOrder 2019–03–16 07:01:54 — core#2245 — $25 USD

feat: show vote count and percentage 2019–03–29 17:17:31 — explorer#601 — $25 USD

chore: setup linting 2019–03–31 16:23:05 — explorer#602 — $25 USD

fix: disable market chart setting if market not enabled 2019–03–25 23:43:38 — desktop-wallet#1140 — $10 USD

fix: adjustments for new block id format 2019–03–26 06:10:47 — explorer#597 — $10 USD

fix: fetch delegates only when network height is available & refactoring 2019–03–04 12:57:34 — explorer#583 — $10 USD

docs: add active delegates endpoint 2019–03–29 17:17:29 — docs#361 — $10 USD

fix: truncation of block id 2019–03–29 12:26:46 — explorer#605 — $10 USD

docs: add new delegates search params 2019–03–06 13:39:20 — docs#292 — $10 USD

fix(core-database): map block to transaction in findById 2019–03–26 16:56:46 — core#2316 — $10 USD

fix: add margin only when confirmations truthy & chores 2019–03–26 11:33:00 — desktop-wallet#1145 — $10 USD

chore: remove voter balances endpoint 2019–03–20 09:29:00 — rust-client#36 — $10 USD

chore: update ACF address 2019–03–22 07:15:19 — explorer#594 — $10 USD

chore: add husky, lint-staged and move tests 2019–03–25 23:06:40 — explorer#595 — $10 USD

fix(core-database-postgres): add EQ operator to block height 2019–03–26 11:29:36 — core#2313 — $10 USD

fix(core-api): adjust schema validation of blocks show 2019–03–26 02:42:35 — core#2306 — $10 USD

chore: use kebab case for aliases 2019–03–26 02:49:16 — core#2283 — $10 USD

chore: remove voter balances endpoint description 2019–03–20 10:04:56 — docs#338 — $5 USD

chore: update ACF address 2019–03–26 11:42:52 — desktop-wallet#1156 — $5 USD

docs: add new events and remove eventemitter3 references 2019–03–28 08:59:26 — docs#355 — $5 USD

fix: chart tooltip font and margin 2019–03–04 12:02:32 — explorer#582 — $5 USD

docs: add instructions for new aliases 2019–03–26 08:33:04 — docs#351 — $5 USD

danielstc — $61 USD

Number of pull requests: 4

feat: add Italian language 2019–03–18 17:13:54 — explorer#590 — $25 USD

misc: add Italian language 2019–03–13 10:08:52 — desktop-wallet#957 — $25 USD

fix: enable the translation of empty transaction table message 2019–03–18 11:32:30 — desktop-wallet#1132 — $10 USD

misc: Italian translation update 2019–03–26 12:20:08 — desktop-wallet#1155 — $1 USD

galperins4 — $11 USD

Number of pull requests: 2

refactor: remove deprecated voter balances endpoint from client 2019–03–20 04:13:53 — python-client#76 — $10 USD

docs: remove refs to python voter balance endpoint 2019–03–20 04:12:59 — docs#336 — $1 USD

shroomist — $10 USD

Number of pull requests: 1

refactor: replace any with proper types 2019–03–25 18:49:30 — core#2276 — $10 USD

dmvt — $5 USD

Number of pull requests: 1

updates devDependencies to eliminate moderate / critical security issues 2019–03–20 14:09:09 — core-plugin-skeleton#8 — $5 USD

jamesbooker — $5 USD

Number of pull requests: 1

docs: fix broken references to plugins docs 2019–03–19 11:57:19 — core#2264 — $5 USD

Hugoo — $1 USD

Number of pull requests: 1

docs(guidebook): remove reference to yarn start command 2019–03–17 17:03:05 — docs#327 — $1 USD

Special Contributions & Rewards

Alessiodf-$200

Delegate ‘Fun’ reported public API issue that can (due to how expensive some of the API calls are) be used to introduce heavy loads on relay nodes with default setups (relay + forger on 1 machine, no proper firewall/DDoS setups, open API access on a forging relay). We have already published recommended security guidelines on how to properly protect your forger configuration. Please make sure your Core environment follows it. Additionally we are addressing this by optimizing some of the Core mechanics (starting by implementing this feature).

Another reported issue was specific to delegates and is related to a memory leak in the forger process that can affect delegates over a prolonged period of time. For the memory leak he provided a descriptive information and patch, which will be included in the upcoming Core v2.3 release. You can see the report here and PR here.

Vulet — $50

Delegate ‘Civseed’ brought up a potential scenario where forgers could manipulate statistic endpoints for calculating ‘average fee’ by self-forging high transaction fees. This would cause an artificial increase in the average fee and would not reflect the true representation of average fee on the network. We have placed limits on the client-side (in Desktop and Mobile) preventing the average from rising above the static fee. This will prevent the end user from mistakenly spending much more than intended (note: it is the user’s responsibility to set their preferred fee and in no case can the fee be higher than what you signed for). We are going to optimize this by improving statistics data that is returned via dynamic fee endpoint, you can read more here.

This post is for the monthly GitHub bounty program, all security vulnerability reports can be seen in our dedicated repository on GitHub: https://github.com/ArkEcosystem/security-vulnerabilities

Are there any other development bounties going on?

Yes! There is also the community run ACF (ARK Community Fund) — read more here:

And remember to join our Slack!