Commit | Line | Data |
---|---|---|
9c6546c9 | 1 | Bitcoin Core integration/staging tree |
c8af33aa | 2 | ===================================== |
20d59455 | 3 | |
5a0823a0 | 4 | [](https://travis-ci.org/bitcoin/bitcoin) |
5 | ||
9a6497ed | 6 | https://www.bitcoin.org |
20d59455 | 7 | |
20d59455 CD |
8 | What is Bitcoin? |
9 | ---------------- | |
10 | ||
11 | Bitcoin is an experimental new digital currency that enables instant payments to | |
12 | anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate | |
13 | with no central authority: managing transactions and issuing money are carried | |
9c6546c9 | 14 | out collectively by the network. Bitcoin Core is the name of open source |
20d59455 CD |
15 | software which enables the use of this currency. |
16 | ||
17 | For more information, as well as an immediately useable, binary version of | |
9a6497ed | 18 | the Bitcoin Core software, see https://www.bitcoin.org/en/download. |
20d59455 CD |
19 | |
20 | License | |
21 | ------- | |
22 | ||
9c6546c9 | 23 | Bitcoin Core is released under the terms of the MIT license. See [COPYING](COPYING) for more |
20d59455 | 24 | information or see http://opensource.org/licenses/MIT. |
81b2d877 | 25 | |
ae42d69d | 26 | Development process |
20d59455 | 27 | ------------------- |
81b2d877 | 28 | |
20d59455 CD |
29 | Developers work in their own trees, then submit pull requests when they think |
30 | their feature or bug fix is ready. | |
cc558f06 | 31 | |
20d59455 CD |
32 | If it is a simple/trivial/non-controversial change, then one of the Bitcoin |
33 | development team members simply pulls it. | |
cc558f06 | 34 | |
20d59455 CD |
35 | If it is a *more complicated or potentially controversial* change, then the patch |
36 | submitter will be asked to start a discussion (if they haven't already) on the | |
3f8fcc92 | 37 | [mailing list](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev) |
cba3a174 | 38 | |
20d59455 CD |
39 | The patch will be accepted if there is broad consensus that it is a good thing. |
40 | Developers should expect to rework and resubmit patches if the code doesn't | |
3bf5f528 | 41 | match the project's coding conventions (see [doc/developer-notes.md](doc/developer-notes.md)) or are |
20d59455 | 42 | controversial. |
cba3a174 | 43 | |
20d59455 CD |
44 | The `master` branch is regularly built and tested, but is not guaranteed to be |
45 | completely stable. [Tags](https://github.com/bitcoin/bitcoin/tags) are created | |
46 | regularly to indicate new official, stable release versions of Bitcoin. | |
cba3a174 | 47 | |
b67b9e70 | 48 | Testing |
20d59455 CD |
49 | ------- |
50 | ||
51 | Testing and code review is the bottleneck for development; we get more pull | |
4665b1ab WL |
52 | requests than we can review and test on short notice. Please be patient and help out by testing |
53 | other people's pull requests, and remember this is a security-critical project where any mistake might cost people | |
20d59455 CD |
54 | lots of money. |
55 | ||
56 | ### Automated Testing | |
13945b2a | 57 | |
20d59455 | 58 | Developers are strongly encouraged to write unit tests for new code, and to |
0aa9851b | 59 | submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: `make check` |
b67b9e70 | 60 | |
20d59455 CD |
61 | Every pull request is built for both Windows and Linux on a dedicated server, |
62 | and unit and sanity tests are automatically run. The binaries produced may be | |
da986f79 CLD |
63 | used for manual QA testing — a link to them will appear in a comment on the |
64 | pull request posted by [BitcoinPullTester](https://github.com/BitcoinPullTester). See https://github.com/TheBlueMatt/test-scripts | |
20d59455 | 65 | for the build/test scripts. |
b67b9e70 | 66 | |
20d59455 | 67 | ### Manual Quality Assurance (QA) Testing |
b67b9e70 | 68 | |
20d59455 CD |
69 | Large changes should have a test plan, and should be tested by somebody other |
70 | than the developer who wrote the code. | |
da986f79 | 71 | See https://github.com/bitcoin/QA/ for how to create a test plan. |
15283971 WL |
72 | |
73 | Translations | |
74 | ------------ | |
75 | ||
76 | Changes to translations as well as new translations can be submitted to | |
77 | [Bitcoin Core's Transifex page](https://www.transifex.com/projects/p/bitcoin/). | |
78 | ||
18c7ba8d | 79 | Translations are periodically pulled from Transifex and merged into the git repository. See the |
15283971 WL |
80 | [translation process](doc/translation_process.md) for details on how this works. |
81 | ||
18c7ba8d | 82 | **Important**: We do not accept translation changes as GitHub pull requests because the next |
15283971 | 83 | pull from Transifex would automatically overwrite them again. |
c47f5379 | 84 | |
18c7ba8d | 85 | Translators should also subscribe to the [mailing list](https://groups.google.com/forum/#!forum/bitcoin-translators). |