1a463c70a368fb20316e03efac273438cf47baa3 Squashed 'src/leveldb/' changes from 22f1e4a02f..e2f10b4e47 (fanquake) Pull request description: Pulls in https://github.com/bitcoin-core/leveldb-subtree/pull/34: win32: fix -Wmissing-field-initializers warnings Related to #26090, #25972. Guix Build: ```bash a8c49e700309e9268ad0a503e7813775f58daf37813501775ae5831eab0cf26a guix-build-13601da17e7a/output/aarch64-linux-gnu/SHA256SUMS.part 3a1722403f8daf8ea152c72004fb1021f8a7241ee7f51fb0e6adeeb50881f001 guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu-debug.tar.gz 3b7c1f2361ef4832c305ff4b0d9eb7419f787f8cf537952d7c20be549debe0af guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu.tar.gz 329cb5bc932621785a6aeca43af307279c47d87a4983ee3d59636f8e3dc27afa guix-build-13601da17e7a/output/arm-linux-gnueabihf/SHA256SUMS.part 4030f344c4c31cc0877c11d3b89f6ea93f930a4ae7e7976d49ad5123cc31a367 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf-debug.tar.gz ab50945c416b256b4c92ea0a50c0b7ec241e4c1f5803a4e7cb4ba83a6c5db888 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf.tar.gz 604557cc73c4065697255c6971547a46cd0d6ad1cdf74261d4c73d002abe8c46 guix-build-13601da17e7a/output/arm64-apple-darwin/SHA256SUMS.part 11e781c64fab7933df4a9b4f56357ad18dd8f149b3c9195bf2d310b58355851d guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.dmg e3fe9e278310f3dc97f463bb8cf2b930b587dba5095e18a7f38c4ef76338daad guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.tar.gz 00828a9bfd74013a439b7f0254bd72904b99ff1e3a9503ef6307ee57de81c5eb guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin.tar.gz d80032d2509a982dc81790b3ef3cd8d44551b41047082ebc506f01bbb8830de1 guix-build-13601da17e7a/output/dist-archive/bitcoin-13601da17e7a.tar.gz 61655cdf7c081c43275da57e5b42c21e33d7864378f3784652969ffdf7c3c2b2 guix-build-13601da17e7a/output/powerpc64-linux-gnu/SHA256SUMS.part 3d213e2f25ca72dc0c3d372c0ad3f6803865825a233b29dd80b5cff3e3963621 guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu-debug.tar.gz ef8cad747428b6b46c5d2c598fb7896b320a5321cf9a0c9dba2209c638bfbc7b guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu.tar.gz 2302e022394ca46570c70bc5977f35bbed258bfbb19c2c6d80f1982a725c9e35 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/SHA256SUMS.part 5ca3104b7d546c7d905f82dfd92b5350af754e3973b533adc50c6cbde8f59f96 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu-debug.tar.gz 2781824d8d08f8ac6663925db8b2d1b50b80165e67ed69df86580438284f0c3b guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu.tar.gz 24a73f91c5ab9e72f2471cd7b31482c702a3de8dade9aff6b76af34253748cec guix-build-13601da17e7a/output/riscv64-linux-gnu/SHA256SUMS.part b09658af4bd24eb5e76bacbfc7f8750a8941f117511b5c55a44ef1beffec8367 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu-debug.tar.gz 56bde3f3df115dbf801944e4f923a08752fd05cda0bbf0e0e3c915387f98e4a8 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu.tar.gz ca9a5acb332fb2ffda42e44d84b58e273a769e94f0abaaa0623ed1d1c5267dde guix-build-13601da17e7a/output/x86_64-apple-darwin/SHA256SUMS.part ccae805bca5d4075d1bccbaeca7ac40bb4dac0a97f4fd4c3c80b2d6134d6acb0 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.dmg b12c9682b69b3662150abd6680bb60f9fef656a1fdc3cd21951c2da571be40cc guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.tar.gz fd3378e4d60f0ef3ae1b18f526e96ed9e838df4def021de332dd0b6cd20ed0c4 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin.tar.gz 47c7af42153850a94d70de6489389f6faf8772d6adc88269705a12e6b894e84e guix-build-13601da17e7a/output/x86_64-linux-gnu/SHA256SUMS.part 876898d116041680ea6fa3bbce1becb05e45ea5bdbaf973a1465fde4bd2df26d guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu-debug.tar.gz 56671e22f25ba695c7315de916c6a2d1b57d5f00982b331c68a43912ac3ebc44 guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu.tar.gz f5b9b7d83ad34b7b6c3cb98b9d7878795a1f6fb7b422ffb02b23266beb76d3a6 guix-build-13601da17e7a/output/x86_64-w64-mingw32/SHA256SUMS.part a72cfb4ce41cad3bb24df2e4bb318edd05370e12fc31f9ba21637b3fd412dccd guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-debug.zip 4b175eac7355715884be279dd4595665912b62815f1d0186ca9874cb9e6424cb guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-setup-unsigned.exe c45d927f0adedc3eb0a01cee0f9fa734c17d9e9a6692b0f416a3830c007b52cc guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-unsigned.tar.gz 360a5b8806c72dbfcfed616d5cec78606461d664e21fb28a44bd473a2b7c9326 guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64.zip ``` ACKs for top commit: hebasto: ACK 13601da17e7af08133861a86c295356c173b5bf5, I have reviewed the code and it looks OK, I agree it can be merged. theuni: ACK 13601da17e7af08133861a86c295356c173b5bf5 Tree-SHA512: 1450618714a456d8969fa5bfc3ed700452e0737213af50656a0a1e0764e6063390fb528eb1889d8bf1e02e451f601f0a5bc63a02ac34ef10aeb7dc80fe41acd1
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.