We're glad that you'd like to help us make BitHodl even better. But first, read these guidelines and instructions.
Install Node.js (v8
) and npm by following the instructions on
nodejs.org.
$ git clone https://github.com/blockfirm/bithodl-service.git
$ cd bithodl-service
$ npm install
$ npm install -g bitcore
Follow the coding conventions defined in .eslintrc.
Run npm run lint
to verify that your code follows the rules.
Use EditorConfig so that your code automatically comply with our coding style.
When submitting pull requests, please follow these rules:
- Make sure there isn't another pull request that already does the same thing
- Make sure you've followed our coding conventions
- Provide tests for your code
- Run the tests before submitting
- Follow the commit message conventions
- Rebase your commits if possible
- Refer to a GitHub Issue
- Include instructions on how to verify/test your changes
- Include screenshots for GUI changes
- Briefly describe what your changes does
- Use the imperative, present tense: "change" not "changed" nor "changes"
- Capitalize the first letter
- No dot (.) at the end
We're using Mocha to test all JavaScript code. Always run the tests before and after you start changing the code. This will ensure high quality of the code. Also write new tests when needed and be sure to follow our test conventions when writing them.
$ npm test
- Put all tests in the
test
folder with the same folder structure as insrc/
- Give the file the same name as the file under test, but append
.test
, e.g.App.test.js
- If you are unsure, read this post on how to write good unit tests
Aim for 100% code coverage when writing tests. Run the following command to display the current code coverage:
$ npm test
We're using the Semantic Versioning Specification when releasing new versions.
We're using Issues on GitHub to plan our milestones. That include new features as well as bug fixes.
We appreciate all security related reports. Please send them to [email protected].
To report a bug or another issue, please submit a new issue on GitHub.
Describe your issue with steps of how to reproduce it, and if not obvious, what the expected behavior should be. Also include information about your system (e.g. version and OS) and your setup.
As there are no channels set up for general discussion, we are using
GitHub Issues for now.
Tag your issue as a Question
. You can also tweet us at @bithodl.