Contributing to Bitcoin Knots
Bitcoin Knots welcomes contributions from the community.
Ways to Contribute
Code Contributions
- Bug fixes
- New features
- Performance improvements
- Test coverage
Documentation
- Improve existing docs
- Add new guides
- Fix typos and errors
Testing
- Test new releases
- Report bugs
- Verify fixes
Translation
Help translate the interface (when Transifex access is restored).
Getting Started
1. Fork the Repository
git clone https://github.com/bitcoinknots/bitcoin.git
cd bitcoin
git remote add upstream https://github.com/bitcoinknots/bitcoin.git
2. Create a Branch
git checkout 29.x-knots
git checkout -b my-feature
3. Make Changes
Follow the coding style of the existing codebase.
4. Test
make check
./test/functional/test_runner.py
5. Commit
git add .
git commit -m "component: Brief description of change"
6. Push and Create PR
git push origin my-feature
Then create a pull request on GitHub.
Coding Standards
- Follow existing code style
- Write tests for new functionality
- Update documentation as needed
- Keep commits focused and atomic
Commit Messages
Format:
component: Brief description
Longer explanation if needed.
Examples:
wallet: Add sweepprivkeys RPC command
policy: Implement dynamic dust threshold
qt: Add dark mode support
Review Process
- Maintainer reviews changes
- Automated tests run
- Feedback addressed
- Changes merged or refined
Issue Reporting
Before Reporting
- Check existing issues
- Verify with latest version
- Gather debug information
What to Include
- Bitcoin Knots version
- Operating system
- Steps to reproduce
- Expected vs actual behavior
- Debug log snippets
Where to Report
github.com/bitcoinknots/bitcoin/issues
Communication
- GitHub Issues for bugs/features
- Pull Requests for code
- Mailing list for announcements
License
Contributions are licensed under MIT, consistent with the project license.
See Also
- Build System - Building from source
- Patch Management - How patches work