08269e54a9
Squashed 'src/crc32c/' changes from 0d624261ef..0bac72c455 (fanquake) Pull request description: Update the crc32c subtree. Includes: * https://github.com/bitcoin-core/crc32c-subtree/pull/5 Which is useful for https://github.com/bitcoin/bitcoin/pull/25797. Guix Build (x86_64): ```bash 10677afb5b43e75f9c44ca2a854df88c2d2443392d3930d8c63d3c17e8d5959f guix-build-9546b3a2a3a4/output/aarch64-linux-gnu/SHA256SUMS.part a05ea337e8dbbf234419908e1c95467f24f9ad83f3371718d4d4e3c1ae64dc7b guix-build-9546b3a2a3a4/output/aarch64-linux-gnu/bitcoin-9546b3a2a3a4-aarch64-linux-gnu-debug.tar.gz 9e3bcaecc55e8100c17cd6049f99a5dcdd485153091a9ddc1bb014cd74da719b guix-build-9546b3a2a3a4/output/aarch64-linux-gnu/bitcoin-9546b3a2a3a4-aarch64-linux-gnu.tar.gz 1306478fadf15b11636625747029de78a9121d179bc63cad77478a5a4b70e012 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/SHA256SUMS.part 55e82fc26fb57b4a58d63985b4b746c939c949abc670c976e270d5ec9c678623 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/bitcoin-9546b3a2a3a4-arm-linux-gnueabihf-debug.tar.gz 4ef06487c7df0b5ffdbcd5b8e4d32ffc8016f071fda7566f824e713581e7b043 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/bitcoin-9546b3a2a3a4-arm-linux-gnueabihf.tar.gz fff63a55498bc592296fa3514bc99b39e83c4ab808ce3b04c9499b7a6adf3fd6 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/SHA256SUMS.part 965a96698bf7e49e2cc710ea567f69fbd4bedef64308f574e96c66e15c78d84d guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin-unsigned.dmg 6738a0692430d4e59b45a8a9a247b6765970fb17c4047b66a332999425caafd9 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin-unsigned.tar.gz d2dc890f9d4e7f147b29e3e186504fc1af7f68b516d770d7700d4982429ad7e3 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin.tar.gz c74196e38f26f0aa8b345d81389a69c2324017c08b32fe5d97823a6bdaebd63b guix-build-9546b3a2a3a4/output/dist-archive/bitcoin-9546b3a2a3a4.tar.gz fdcebf2b6518f3a538429aba53795f45a6c07e0b3a73e58242a46b0e1a1de429 guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/SHA256SUMS.part d4180196535c6a13f158e6f1b013bac6e1f32291d2940f830898aff55bd215ad guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64-linux-gnu-debug.tar.gz ffbaea4130f460a93afd89618b68be5918d9fad053427390350daa1f512f628c guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64-linux-gnu.tar.gz 09071b159126c89bdbc3f19b51b89c34d9709658e77f0f5da55b41218453b652 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/SHA256SUMS.part 4b75a22ac557a0fea88f8df0beaff9b19fb032587710edcca3d942847445fbc3 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64le-linux-gnu-debug.tar.gz 1bbb30880fe9ec5151377b0ee1952316b63d3d4bfaaa383f72660591e46e1965 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64le-linux-gnu.tar.gz 06e6140b0b23f974a1c49e551fc4f8effba8afcc3fef3adf4fc3a5cd72d55007 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/SHA256SUMS.part 948219a7eb070e48d613bef5c96e47880414d738ecc0c334e1d46291af315cc9 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/bitcoin-9546b3a2a3a4-riscv64-linux-gnu-debug.tar.gz 9dcdb87bf947a23eb8e108a15b7b224f03f01dfac1879be85114f67ecc1cd425 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/bitcoin-9546b3a2a3a4-riscv64-linux-gnu.tar.gz c02b6fcc9f1333a83571eff16c6d7789febd8f693c6945b751b0665bdc025f20 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/SHA256SUMS.part 3a092d1c08cb85f4ac502424b3c5932ff6970a191ce43d622d36ad17f9b36243 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin-unsigned.dmg 1a1bbefb93131d62f88d9eb51bddc2bd3e247533f8000555af20ea582fe65daa guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin-unsigned.tar.gz 684180389af6cba525439b8c8142bbdc3391c125583743275b6876e69adbd733 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin.tar.gz f81bc831e3d933b387940c8bd3cc10402e00116c713cd2ac9e7531082a354187 guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/SHA256SUMS.part 05faf45bc567742d41addafc5d8e85b5b586173f2efdd2ae501d6ebdf69379bb guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/bitcoin-9546b3a2a3a4-x86_64-linux-gnu-debug.tar.gz dfe1b0c22c706a918cbc8952bebba0b471c849276725dd5e0b2eee265c281386 guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/bitcoin-9546b3a2a3a4-x86_64-linux-gnu.tar.gz 64186c495eb9b6e8c6a2be89530c928e7b161e5ca7a1b56b7786dd28d310e7e8 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/SHA256SUMS.part c099d0dfeb4556539b52c8bc08ef2c15c636526dccc0a73900c68fa45b052189 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-debug.zip 7751e50110ed1a9a46a2fdadb7d71c6e30910685a3074dea563ec64997cbb134 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-setup-unsigned.exe d8ec6a7d24c9b514c342fe3ee2281482a104100230650523d3303484036507a3 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-unsigned.tar.gz ee3123a60a732596347e58351c38cc5c0a8bf9b24f3cc9041f12ec11572e0659 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64.zip ``` Guix Build (arm64): ```bash 1306478fadf15b11636625747029de78a9121d179bc63cad77478a5a4b70e012 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/SHA256SUMS.part 55e82fc26fb57b4a58d63985b4b746c939c949abc670c976e270d5ec9c678623 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/bitcoin-9546b3a2a3a4-arm-linux-gnueabihf-debug.tar.gz 4ef06487c7df0b5ffdbcd5b8e4d32ffc8016f071fda7566f824e713581e7b043 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/bitcoin-9546b3a2a3a4-arm-linux-gnueabihf.tar.gz fff63a55498bc592296fa3514bc99b39e83c4ab808ce3b04c9499b7a6adf3fd6 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/SHA256SUMS.part 965a96698bf7e49e2cc710ea567f69fbd4bedef64308f574e96c66e15c78d84d guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin-unsigned.dmg 6738a0692430d4e59b45a8a9a247b6765970fb17c4047b66a332999425caafd9 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin-unsigned.tar.gz d2dc890f9d4e7f147b29e3e186504fc1af7f68b516d770d7700d4982429ad7e3 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin.tar.gz c74196e38f26f0aa8b345d81389a69c2324017c08b32fe5d97823a6bdaebd63b guix-build-9546b3a2a3a4/output/dist-archive/bitcoin-9546b3a2a3a4.tar.gz fdcebf2b6518f3a538429aba53795f45a6c07e0b3a73e58242a46b0e1a1de429 guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/SHA256SUMS.part d4180196535c6a13f158e6f1b013bac6e1f32291d2940f830898aff55bd215ad guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64-linux-gnu-debug.tar.gz ffbaea4130f460a93afd89618b68be5918d9fad053427390350daa1f512f628c guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64-linux-gnu.tar.gz 09071b159126c89bdbc3f19b51b89c34d9709658e77f0f5da55b41218453b652 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/SHA256SUMS.part 4b75a22ac557a0fea88f8df0beaff9b19fb032587710edcca3d942847445fbc3 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64le-linux-gnu-debug.tar.gz 1bbb30880fe9ec5151377b0ee1952316b63d3d4bfaaa383f72660591e46e1965 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64le-linux-gnu.tar.gz 06e6140b0b23f974a1c49e551fc4f8effba8afcc3fef3adf4fc3a5cd72d55007 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/SHA256SUMS.part 948219a7eb070e48d613bef5c96e47880414d738ecc0c334e1d46291af315cc9 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/bitcoin-9546b3a2a3a4-riscv64-linux-gnu-debug.tar.gz 9dcdb87bf947a23eb8e108a15b7b224f03f01dfac1879be85114f67ecc1cd425 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/bitcoin-9546b3a2a3a4-riscv64-linux-gnu.tar.gz c02b6fcc9f1333a83571eff16c6d7789febd8f693c6945b751b0665bdc025f20 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/SHA256SUMS.part 3a092d1c08cb85f4ac502424b3c5932ff6970a191ce43d622d36ad17f9b36243 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin-unsigned.dmg 1a1bbefb93131d62f88d9eb51bddc2bd3e247533f8000555af20ea582fe65daa guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin-unsigned.tar.gz 684180389af6cba525439b8c8142bbdc3391c125583743275b6876e69adbd733 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin.tar.gz f81bc831e3d933b387940c8bd3cc10402e00116c713cd2ac9e7531082a354187 guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/SHA256SUMS.part 05faf45bc567742d41addafc5d8e85b5b586173f2efdd2ae501d6ebdf69379bb guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/bitcoin-9546b3a2a3a4-x86_64-linux-gnu-debug.tar.gz dfe1b0c22c706a918cbc8952bebba0b471c849276725dd5e0b2eee265c281386 guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/bitcoin-9546b3a2a3a4-x86_64-linux-gnu.tar.gz 64186c495eb9b6e8c6a2be89530c928e7b161e5ca7a1b56b7786dd28d310e7e8 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/SHA256SUMS.part c099d0dfeb4556539b52c8bc08ef2c15c636526dccc0a73900c68fa45b052189 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-debug.zip 7751e50110ed1a9a46a2fdadb7d71c6e30910685a3074dea563ec64997cbb134 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-setup-unsigned.exe d8ec6a7d24c9b514c342fe3ee2281482a104100230650523d3303484036507a3 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-unsigned.tar.gz ee3123a60a732596347e58351c38cc5c0a8bf9b24f3cc9041f12ec11572e0659 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64.zip ``` ACKs for top commit: hebasto: ACK9546b3a2a3
, I have reviewed the code and it looks OK, I agree it can be merged. jarolrod: ACK9546b3a2a3
Tree-SHA512: e5f98fd3bdb90516d24ed6cc26da9ed4a83374888d322a4e3a26d8df4a2352711d842787b07ba94e2dbd142391bb8f39eb6f040cbb3c2f217f7980b69aaae31f
Bitcoin Core integration/staging tree
For an immediately usable, binary version of the Bitcoin Core software, see https://bitcoincore.org/en/download/.
What is Bitcoin Core?
Bitcoin Core connects to the Bitcoin peer-to-peer network to download and fully validate blocks and transactions. It also includes a wallet and graphical user interface, which can be optionally built.
Further information about Bitcoin Core is available in the doc folder.
License
Bitcoin Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.
Development Process
The master
branch is regularly built (see doc/build-*.md
for instructions) and tested, but it is not guaranteed to be
completely stable. Tags are created
regularly from release branches to indicate new official, stable release versions of Bitcoin Core.
The https://github.com/bitcoin-core/gui repository is used exclusively for the development of the GUI. Its master branch is identical in all monotree repositories. Release branches and tags do not exist, so please do not fork that repository unless it is for development reasons.
The contribution workflow is described in CONTRIBUTING.md and useful hints for developers can be found in doc/developer-notes.md.
Testing
Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.
Automated Testing
Developers are strongly encouraged to write unit tests for new code, and to
submit new unit tests for old code. Unit tests can be compiled and run
(assuming they weren't disabled in configure) with: make check
. Further details on running
and extending unit tests can be found in /src/test/README.md.
There are also regression and integration tests, written
in Python.
These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py
The CI (Continuous Integration) systems make sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.
Manual Quality Assurance (QA) Testing
Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.
Translations
Changes to translations as well as new translations can be submitted to Bitcoin Core's Transifex page.
Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.
Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.