Stacks 2.0 Testnet Bounty Program - Find Bugs & Build Tools

The Neon Phase of the Stacks 2.0 testnet just wrapped up, and we have officially begun Argon. Thank you to everyone that’s been helping test the network so far! Stress testing the software is the fundamental purpose of the testnet, and there’s been no shortage of that.

In addition to stress testing, we want to use this testnet phase as an opportunity to provide better tools and resources for everyone engaging with the testnet and later, mainnet. This can be anything that makes it easier to understand or participate in key functions of the network such as running a node, STX Mining, and/or Stacking.

To that end, Blockstack PBC is sponsoring a number of bounties for finding and reporting software bugs, building specific tools and resources, and supporting the community. Below is an overview of the different bounties and even some information on designing your own.

→ Browse all current bounties here

Bug Bounties*

The bug bounties below are broken up into three categories: Critical, Major, and Minor. Each are defined by the severity of the bug and its ability to affect proper functioning of the network. To submit a bug bounty, please open an issue in the revelant repo. If the bug exists in node, miner, or Stacks chain related software, pleas open an issue in the Stacks Blockchain Repo. If the bug exists in software related to Clarity, please upen an issue in the Clarity repo.

Critical Bugs ($2,000 in BTC)

Critical bugs are blockers for mainnet launch, and are characterized by the bug being consensus critical, causing:

  • Chain splits
  • State corruption
  • Funds to be stolen
  • Takeover of the network, or bringing the network to a halt

Major Bugs ($1,000 in BTC)

Major bugs are also blockers for mainnet launch, but are not as severe as critical bugs. They include:

  • Less severe performance or correctness bugs
  • DDoS or stress-test attacks that slow the network down significantly
  • Bugs that cause resource exhaustion
  • When expected functionality does not work in obvious ways

Minor Bugs ($100 in BTC)

Minor bugs are issues in non-critical software, such as the CLI or various user interfaces. These bugs do not impact critical functionality. We expect a lot of these.

*Blockstack PBC ultimately decides what constitutes a bug, and the resulting level of severity.

Tooling & Resources Bounties*

The testnet is also a time to level up the developer and user experience around Stacks 2.0 leading up to the mainnet launch. Tools such as different explorers or resources such as Clarity templates can help make the network more accessible and support more advanced use cases. Below are all the bounties for specific tools and resources, however, please note, some won’t be supported by the testnet until later phases. In addition, we are putting out an open call for tools and/or resources built on top of PoX.

Create New Templates for the Clarity Starter Kit ($100 BTC reward, up to 10 winners) - Phase 1 onwards

Build new templates for the Clarity Starter Kit, to be used by developers to learn an extend. Must include Clarity code and tests to be a valid submission. We will reward the top 10 templates.

Do :

  • Look at popular ERC proposals as inspiration.

Don ’t:

  • Copy a template that already exists.

How to submit: Add your template to a new PR and submit as an issue to the Clarity JS SDK Repo on Github.

Create a Linter for Clarity Smart Contracts ($1,000 BTC reward, 1 winner) - Phase 1 onwards

Create a Linter for Clarity Smart Contracts. Bonus points if you include a plug-in for an editor that formats code and highlights any errors.

Do:

  • Check for matching parentheses
  • Find and fix whitespacing that doesn’t conform to code style
  • Add support for configuring specific linting rules, with sane defaults
  • Build in a language that compiles to JavaScript
  • Build something that is easy to integrate in any editor

Don’t:

  • Check for type errors
  • Validate variable and function names
  • Build something that only works for one editor

How to submit: Add your Linter to a new PR and submit as an issue to the Clarity JS SDK Repo on Github.

Create a Telemetry Dashboard ($2,500 BTC reward, 1 winner) - Phase 2 onwards *up to three winners rewarded

Create a telemetry dashboard that shows where other miners are and the health of the network. Good examples are https://ethstats.net/ and https://telemetry.polkadot.io/.

Do:

  • Build something that is real time
  • Find and display information that is unique to Clarity and Proof of Transfer
  • Be creative. Think about different metrics or views to build in

Don’t

  • Build a copy of the Blockstack explorer

How to Submit: Add a link to the dashboard in a new issue opened in the Bounties Repo on Github.

Create a Live Stacking Calculator ($2,500 BTC reward, 1 winner) - Phase 3 onwards

Create a hosted/live Stacking Calculator that displays historical prices for BTC and STX, the amount of BTC the last block paid out to eligible Stackers, and other useful information for Stacking at a minimum.

Do:

  • Be creative with the metrics you include above those listed in the bounty description
  • Consider the two target audiences: current Stackers or people thinking about Stacking. What would make this most useful to both of those groups?
  • Incorporate historical and live data
  • Think about incorporating data from outside sources (exchanges, oracles, etc…)

How to submit: Add a link to the Stacking Calculator in a new issue opened in the Bounties Repo on Github.

Ongoing Community Bounties

In addition to surfacing bugs and developing tools, it’s important to cultivate a strong community that is excited to test out, poke at, and tinker with the testnet at every phase. Community bounties will be rewarded to those who exemplify excellence in community building by making the testnet more accessible to other community members. This may include translating documentation for members around the world, creating written/video testnet guides, or hosting virtual community meetups. Learn more about these bounties here.

Building something not on this List?

If you have a great idea for a tool or resource that isn’t below, we’d love to hear about it. The reward will determined based on the nature of the specific tool or resource that is built. Submit any ideas or finished products here.

2 Likes