|  | 
| 1 |  | -Bitcoin Knots | 
| 2 |  | -============= | 
|  | 1 | +<p align="center"> | 
|  | 2 | +  <img src="https://github.com/user-attachments/assets/c19f8b34-2079-4dd7-b2e5-cb1afec885a3" width="200"/> | 
|  | 3 | +</p> | 
| 3 | 4 | 
 | 
| 4 |  | -https://bitcoinknots.org | 
|  | 5 | +# Bitcoin Knobs | 
| 5 | 6 | 
 | 
| 6 |  | -For an immediately usable, binary version of the Bitcoin Knots software, see | 
| 7 |  | -the website. | 
|  | 7 | +Bitcoin Knobs is a fork of [Bitcoin Knots](https://bitcoinknots.org) that takes flexibility a step further. Where others decide what is "safe" or "reasonable," we believe in maximum choice. If that means your node refuses to start, your wallet vanishes into the void, or your peers pretend you don't exist, at least the decision was yours.   | 
| 8 | 8 | 
 | 
| 9 |  | -What is Bitcoin Knots? | 
| 10 |  | ----------------------- | 
|  | 9 | +--- | 
| 11 | 10 | 
 | 
| 12 |  | -Bitcoin Knots connects to the Bitcoin peer-to-peer network to download and fully | 
| 13 |  | -validate blocks and transactions. It also includes a wallet and graphical user | 
| 14 |  | -interface, which can be optionally built. | 
|  | 11 | +## What is Bitcoin Knobs? | 
| 15 | 12 | 
 | 
| 16 |  | -Further information about Bitcoin Knots is available in the [doc folder](/doc). | 
|  | 13 | +Bitcoin Knobs connects to the Bitcoin peer-to-peer network to download and fully validate blocks and transactions. It includes a wallet and graphical user interface, which can be optionally built.   | 
| 17 | 14 | 
 | 
| 18 |  | -License | 
| 19 |  | -------- | 
|  | 15 | +Unlike projects that aim to protect you from yourself, Knobs is built on the principle that users should have full control over configuration, even if that control comes with outcomes best described as "interesting."   | 
| 20 | 16 | 
 | 
| 21 |  | -Bitcoin Knots is released under the terms of the MIT license. See [COPYING](COPYING) for more | 
| 22 |  | -information or see https://opensource.org/licenses/MIT. | 
|  | 17 | +--- | 
| 23 | 18 | 
 | 
| 24 |  | -Development Process | 
| 25 |  | -------------------- | 
|  | 19 | +## Why? | 
| 26 | 20 | 
 | 
| 27 |  | -Development generally takes place as part of [Bitcoin Core](https://github.com/bitcoin/bitcoin), and is merged into | 
| 28 |  | -Knots for each release. | 
|  | 21 | +Because freedom means being able to tune every setting, even the ones nobody sane would touch. Some people call that dangerous. We call it feature-complete.   | 
| 29 | 22 | 
 | 
| 30 |  | -Even if your pull request to Core is closed, or if your feature is not | 
| 31 |  | -suitable for Core (eg, because it builds on a feature not supported in Core; | 
| 32 |  | -relies on centralised services; etc), it may still be eligible for inclusion | 
| 33 |  | -in Bitcoin Knots. In this case, a pull request may be opened on the | 
| 34 |  | -[Knots GitHub](https://github.com/bitcoinknots/bitcoin) for review and consideration. | 
| 35 |  | -When accepted, you are expected to maintain the submitted branch in your own | 
| 36 |  | -repository, and it will be automatically merged into new releases of Knots. | 
|  | 23 | +--- | 
| 37 | 24 | 
 | 
| 38 |  | -Developer IRC can be found on Freenode at #bitcoin-dev. | 
|  | 25 | +## Features | 
| 39 | 26 | 
 | 
| 40 |  | -Testing | 
| 41 |  | -------- | 
|  | 27 | +- More knobs and toggles than you will ever need   | 
|  | 28 | +- Configurations that can make your node sing, stumble, or collapse   | 
|  | 29 | +- A wallet and GUI, just like Knots, but without the training wheels   | 
|  | 30 | +- Defaults exist, but you are free to ignore them   | 
| 42 | 31 | 
 | 
| 43 |  | -Testing and code review is the bottleneck for development; we get more pull | 
| 44 |  | -requests than we can review and test on short notice. Please be patient and help out by testing | 
| 45 |  | -other people's pull requests, and remember this is a security-critical project where any mistake might cost people | 
| 46 |  | -lots of money. | 
|  | 32 | +--- | 
| 47 | 33 | 
 | 
| 48 |  | -### Automated Testing | 
|  | 34 | +## Development Process | 
| 49 | 35 | 
 | 
| 50 |  | -Developers are strongly encouraged to write [unit tests](src/test/README.md) for new code, and to | 
| 51 |  | -submit new unit tests for old code. Unit tests can be compiled and run | 
| 52 |  | -(assuming they weren't disabled during the generation of the build system) with: `ctest`. Further details on running | 
| 53 |  | -and extending unit tests can be found in [/src/test/README.md](/src/test/README.md). | 
|  | 36 | +Development builds on [Bitcoin Core](https://github.com/bitcoin/bitcoin), merged into Knobs with additional options along the way.   | 
| 54 | 37 | 
 | 
| 55 |  | -There are also [regression and integration tests](/test), written | 
| 56 |  | -in Python. | 
| 57 |  | -These tests can be run (if the [test dependencies](/test) are installed) with: `build/test/functional/test_runner.py` | 
| 58 |  | -(assuming `build` is your build directory). | 
|  | 38 | +Pull requests considered unsuitable for Core, too unconventional for Knots, or generally frowned upon elsewhere may still find a home here. If merged, contributors are expected to maintain their changes for future releases.   | 
| 59 | 39 | 
 | 
| 60 |  | -The CI (Continuous Integration) systems make sure that every pull request is built for Windows, Linux, and macOS, | 
| 61 |  | -and that unit/sanity tests are run automatically. | 
|  | 40 | +--- | 
| 62 | 41 | 
 | 
| 63 |  | -### Manual Quality Assurance (QA) Testing | 
|  | 42 | +## Testing | 
| 64 | 43 | 
 | 
| 65 |  | -Changes should be tested by somebody other than the developer who wrote the | 
| 66 |  | -code. This is especially important for large or high-risk changes. It is useful | 
| 67 |  | -to add a test plan to the pull request description if testing the changes is | 
| 68 |  | -not straightforward. | 
|  | 44 | +Testing is encouraged. Results may vary.   | 
| 69 | 45 | 
 | 
| 70 |  | -Translations | 
| 71 |  | ------------- | 
|  | 46 | +- **Automated tests**: unit, regression, integration (see `/src/test` and `/test`).   | 
|  | 47 | +- **CI**: builds for Linux, macOS, and Windows.   | 
|  | 48 | +- **Manual QA**: useful, especially for the more adventurous changes.   | 
| 72 | 49 | 
 | 
| 73 |  | -Changes to translations as well as new translations can be submitted to | 
| 74 |  | -[Bitcoin Core's Transifex page](https://explore.transifex.com/bitcoin/bitcoin/). | 
|  | 50 | +Remember, outcomes are not guaranteed.   | 
| 75 | 51 | 
 | 
| 76 |  | -Translations are periodically pulled from Transifex and merged into the git repository. See the | 
| 77 |  | -[translation process](doc/translation_process.md) for details on how this works. | 
|  | 52 | +--- | 
| 78 | 53 | 
 | 
| 79 |  | -**Important**: We do not accept translation changes as GitHub pull requests because the next | 
| 80 |  | -pull from Transifex would automatically overwrite them again. | 
|  | 54 | +## License | 
|  | 55 | + | 
|  | 56 | +MIT. See [COPYING](COPYING) or https://opensource.org/licenses/MIT.   | 
|  | 57 | + | 
|  | 58 | +--- | 
|  | 59 | + | 
|  | 60 | +## Translations | 
|  | 61 | + | 
|  | 62 | +Handled via [Bitcoin Core's Transifex](https://explore.transifex.com/bitcoin/bitcoin/). GitHub PRs for translations are not accepted, as they are periodically overwritten.   | 
0 commit comments