Grin is a privacy-preserving digital currency built openly by developers distributed all over the world. We are approaching a Grin v5.0.0 network upgrade (Hard Fork 4: January 2021) and we want to improve on node and wallet stability by performing as large number of tests as possible. For this, we need your help! We are ready to offer prizes and giveways for those who find bugs in Grin!
This section describes the overall protocol.
Please be aware the goal of this challenge is to find when things go wrong. You should NOT use your regular setup (wallet/accounts/node) to solve those challenges. To avoid losing access to your own funds prepare a separate setup meant just for the challenge and we will provide you with some Grin to get started.
is:issue is:open no:assignee label:ready-for-test
or just click here. Do NOT assign to yourself more than one issue simultaneously!Follow the test description from the assigned GitHub issue. Use your local environment to run the test case. Make sure you gather enough data for your report, we would need at least the following
README.md
file.== debug
mode to provide sufficient level of details.Once you are done and gathered sufficient amount of data so that your test could be reproducible by someone else, wrap it all up in a single secret gist repository. This would allow you to link a specific line of the logs. If your output log is too long gist might not allow you to link a specific line, in such case make sure you have a copy of specific line with the comment and line number ready for your report.
If everything went as planned comment on the test issue that you are assigned to and add a ready-for-review
label to it and you can assign yourself a different issue at this stage if you want. We will look into it, we might ask you to provide additional information or change something in your test if it wasn't executed properly. Once review is done we will assign ready-for-reward
label to it and close it. The congratulations! You will officially get paid for testing a feature!
If the result is not as expected before you report a bug make sure you performed the test properly. Incorrect results resulting from incorrect usage are not bugs!
Reporting the bug case is more tricky, as bugs are potential security vulnerabilities we do not want your report to go public. In such case please provide the link to your secret gist to @marekyggdrasil via KeyBase in a private message. We will attempt to reproduce your bug and if we succeed you will be paid for the bug report.
Rewards will be distributed once the challenge is officially over (add end date here).
rewarded
to it. Ka-ching!!!Task | Condition | Prize |
---|---|---|
Testing a feature. | Properly documenting the procedure, providing logs and highlighting relevant outputs, describing procedure. | 10€ |
Finding a bug. | As above + we manage to reproduce it. | 50€-500€ (depending on severity of the bug) |
First prize. | Owner of github account who tested and documented most features. | 500€ |
Second prize. | Second to the one above. | 250€ |
Third prize. | You get it... ;) | 125€ |
We will only attempt to reproduce the bug reports. As for remaining tests we will only briefly review the log outputs. We assume users would not attempt to forge successful tests as bugs are paid a lot more.
We want Grin stack to get more stable. It could use a solid amount of integration tests. We also believe that it is an excellent approach to promote Grin.
By all means please report it to us and if we reproduce it you will be rewarded for it! Just keep in mind your report might be take us longer to reproduce as we haven't prepared a protocol for it.
Edit your grin-server-toml
and/or grin-wallet.toml
file and make the following changes:
#log level for file: Error, Warning, Info, Debug, Trace
file_log_level = "Debug"
Please use the Grinnode.live donation addresses only: https://github.com/Grinnode-live/grinnode.live/blob/master/donation.md
Yes, we are encouraging you to do so. Just open an issue on https://github.com/Grinnode-live/2020-grin-bug-bash-challenge/issues and you created a test-case. Please do not assign ready-for-test
label, this is how we keep track of that needs to be changed.