Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
501- #13712 `aba2e66` Fix non-determinism in ParseHDKeypath(…). Avoid using an uninitialized variable in path calculation (practicalswift)502- #9662 `6b6e854` Add createwallet "disableprivatekeys" option: a sane mode for watchonly-wallets (jonasschnelli)503- #13683 `e8c7434` Introduce assertion to document the assumption that cache and cache_used are always set in tandem (practicalswift)504- #12257 `5f7575e` Use destination groups instead of coins in coin select (kallewoof)505- #13773 `89a116d` Fix accidental use of the comma operator (practicalswift)506- #13805 `c88529a` Correctly limit output group size (sdaftuar)507- #12992 `26f59f5` Add wallet name to log messages (PierreRochard)508- #13667 `b81a8a5` Fix backupwallet for multiwallets (domob1812)509- #13657 `51c693d` assert to ensure accuracy of CMerkleTx::GetBlocksToMaturity (Empact)510- #13812 `9d86aad` sum ancestors rather than taking max in output groups (kallewoof)511- #13876 `8eb9870` Catch `filesystem_error` and raise `InitError` (MarcoFalke)512- #13808 `13d51a2` shuffle coins before grouping, where warranted (kallewoof)513- #13666 `2115cba` Always create signatures with Low R values (achow101)514- #13917 `0333914` Additional safety checks in PSBT signer (sipa)515- #13968 `65e7a8b` couple of walletcreatefundedpsbt fixes (instagibbs)516- #14055 `2307a6e` fix walletcreatefundedpsbt deriv paths, add test (instagibbs)518### RPC and other APIs519- #12336 `3843780` Remove deprecated rpc options (jnewbery)520- #12193 `5dc00f6` Consistently use UniValue.pushKV instead of push_back(Pair()) (karel-3d) (MarcoFalke)521- #12409 `0cc45ed` Reject deprecated reserveChangeKey in fundrawtransaction (MarcoFalke)522- #10583 `8a98dfe` Split part of validateaddress into getaddressinfo (achow101)523- #10579 `ffc6e48` Split signrawtransaction into wallet and non-wallet RPC command (achow101)524- #12494 `e4ffcac` Declare CMutableTransaction a struct in rawtransaction.h (Empact)525- #12503 `0e26591` createmultisig no longer takes addresses (instagibbs)526- #12083 `228b086` Improve getchaintxstats test coverage (promag)527- #12479 `cd5e438` Add child transactions to getrawmempool verbose output (conscott)528- #11872 `702e8b7` createrawtransaction: Accept sorted outputs (MarcoFalke)529- #12700 `ebdf84c` Document RPC method aliasing (ryanofsky)530- #12727 `8ee5c7b` Remove unreachable help conditions in rpcwallet.cpp (lutangar)531- #12778 `b648974` Add username and ip logging for RPC method requests (GabrielDav)532- #12717 `ac898b6` rest: Handle utxo retrieval when ignoring the mempool (romanz)533- #12787 `cd99e5b` Adjust ifdef to avoid unreachable code (practicalswift)534- #11742 `18815b4` Add testmempoolaccept (MarcoFalke)535- #12942 `fefb817` Drop redundant testing of signrawtransaction prevtxs args (Empact)536- #11200 `5f2a399` Allow for aborting rescans in the GUI (achow101)537- #12791 `3a8a4dc` Expose a transaction's weight via RPC (TheBlueMatt)538- #12436 `6e67754` Adds a functional test to validate the transaction version number in the RPC output (251Labs)539- #12240 `6f8b345` Introduced a new `fees` structure that aggregates all sub-field fee types denominated in BTC (mryandao)540- #12321 `eac067a` p2wsh and p2sh-p2wsh address in decodescript (fivepiece)541- #13090 `17266a1` Remove Safe mode (achow101, laanwj)542- #12639 `7eb7076` Reduce `cs_main` lock in listunspent (promag)543- #10267 `7b966d9` New -includeconf argument for including external configuration files (kallewoof)544- #10757 `b9551d3` Introduce getblockstats to plot things (jtimon)545- #13288 `a589f53` Remove the need to include rpc/blockchain.cpp in order to put `GetDifficulty` under test (Empact)546- #13394 `e1f8dce` cli: Ignore libevent warnings (theuni)547- #13439 `3f398d7` Avoid "duplicate" return value for invalid submitblock (TheBlueMatt)548- #13570 `a247594` Add new "getzmqnotifications" method (domob1812)549- #13072 `b25a4c2` Update createmultisig RPC to support segwit (ajtowns)550- #12196 `8fceae0` Add scantxoutset RPC method (jonasschnelli)551- #13557 `b654723` BIP 174 PSBT Serializations and RPCs (achow101)552- #13697 `f030410` Support output descriptors in scantxoutset (sipa)553- #13927 `bced8ea` Use pushKV in some new PSBT RPCs (domob1812)554- #13918 `a9c56b6` Replace median fee rate with feerate percentiles in getblockstats (marcinja)555- #13721 `9f23c16` Bugfixes for BIP 174 combining and deserialization (achow101)556- #13960 `517010e` Fix PSBT deserialization of 0-input transactions (achow101)558### GUI559- #12416 `c997f88` Fix Windows build errors introduced in #10498 (practicalswift)560- #11733 `e782099` Remove redundant locks (practicalswift)561- #12426 `bfa3911` Initialize members in WalletModel (MarcoFalke)562- #12489 `e117cfe` Bugfix: respect user defined configuration file (-conf) in QT settings (jonasschnelli)563- #12421 `be263fa` navigate to transaction history page after send (Sjors)564- #12580 `ce56fdd` Show a transaction's virtual size in its details dialog (dooglus)565- #12501 `c8ea91a` Improved "custom fee" explanation in tooltip (randolf)566- #12616 `cff95a6` Set modal overlay hide button as default (promag)567- #12620 `8a43bdc` Remove TransactionTableModel::TxIDRole (promag)568- #12080 `56cc022` Add support to search the address book (promag)569- #12621 `2bac3e4` Avoid querying unnecessary model data when filtering transactions (promag)570- #12721 `e476826` remove "new" button during receive-mode in addressbook (jonasschnelli)571- #12723 `310dc61` Qt5: Warning users about invalid-BIP21 URI bitcoin:// (krab)572- #12610 `25cf18f` Multiwallet for the GUI (jonasschnelli)573- #12779 `f4353da` Remove unused method setupAmountWidget(…) (practicalswift)574- #12795 `68484d6` do not truncate .dat extension for wallets in gui (instagibbs)575- #12870 `1d54004` make clean removes `src/qt/moc_` files (Sjors)576- #13055 `bdda14d` Don't log to console by default (laanwj)577- #13141 `57c57df` fixes broken link on readme (marcoagner)578- #12928 `ef006d9` Initialize non-static class members that were previously neither initialized where defined nor in constructor (practicalswift)579- #13158 `81c533c` Improve sendcoinsdialog readability (marcoagner)580- #11491 `40c34a0` Add proxy icon in statusbar (mess110)581- #13264 `2a7c53b` Satoshi unit (GreatSock)582- #13097 `e545503` Support wallets loaded dynamically (promag)583- #13284 `f8be434` fix visual "overflow" of amount input (brandonrninefive)584- #13275 `a315b79` use `[default wallet]` as name for wallet with no name (jonasschnelli)585- #13273 `3fd0c23` Qt/Bugfix: fix handling default wallet with no name (jonasschnelli)586- #13341 `25d2df2` Stop translating command line options (laanwj)587- #13043 `6e249e4` OptionsDialog: add prune setting (Sjors)588- #13506 `6579d80` load wallet in UI after possible init aborts (jonasschnelli)589- #13458 `dc53f7f` Drop qt4 support (laanwj)590- #13528 `b877c39` Move BitcoinGUI initializers to class, fix initializer order warning (laanwj)591- #13536 `baf3a3a` coincontrol: Remove unused qt4 workaround (MarcoFalke)592- #13537 `10ffca7` Peer table: Visualize inbound/outbound state for every row (wodry)593- #13791 `2c14c1f` Reject dialogs if key escape is pressed (promag)595### Build system596- #12371 `c9ca4f6` Add gitian PGP key: akx20000 (ghost)597- #11966 `f4f4f51` clientversion: Use full commit hash for commit-based version descriptions (luke-jr)598- #12417 `ae0fbf0` Upgrade `mac_alias` to 2.0.7 (droark)599- #12444 `1f055ef` gitian: Bump descriptors for (0.)17 (theuni)600- #12402 `59e032b` expat 2.2.5, ccache 3.4.1, miniupnpc 2.0.20180203 (fanquake)601- #12029 `daa84b3` Add a makefile target for Doxygen documentation (Ov3rlo4d)602- #12466 `6645eaf` Only use `D_DARWIN_C_SOURCE` when building miniupnpc on darwin (fanquake)603- #11986 `765a3eb` zeromq 4.2.3 (fanquake)604- #12373 `f13d756` Add build support for profiling (murrayn)605- #12631 `a312e20` gitian: Alphabetize signing keys & add kallewoof key (kallewoof)606- #12607 `29fad97` Remove ccache (fanquake)607- #12625 `c4219ff` biplist 1.0.3 (fanquake)608- #12666 `05042d3` configure: UniValue 1.0.4 is required for pushKV(, bool) (luke-jr)609- #12678 `6324c68` Fix a few compilation issues with Clang 7 and -Werror (vasild)610- #12692 `de6bdfd` Add configure options for various -fsanitize flags (eklitzke)611- #12901 `7e23972` Show enabled sanitizers in configure output (practicalswift)612- #12899 `3076993` macOS: Prevent Xcode 9.3 build warnings (AkioNak)613- #12715 `8fd6243` Add 'make clean' rule (hkjn)614- #13133 `a024a18` Remove python2 from configure.ac (ken2812221)615- #13005 `cb088b1` Make --enable-debug to pick better options (practicalswift)616- #13254 `092b366` Remove improper `qt/moc_*` cleaning glob from the general Makefile (Empact)617- #13306 `f5a7733` split warnings out of CXXFLAGS (theuni)618- #13385 `7c7508c` Guard against accidental introduction of new Boost dependencies (practicalswift)619- #13041 `5779dc4` Add linter checking for accidental introduction of locale dependence (practicalswift)620- #13408 `70a03c6` crypto: cleanup sha256 build (theuni)621- #13435 `cf7ca60` When build fails due to lib missing, indicate which one (Empact)622- #13445 `8eb76f3` Reset default -g -O2 flags when enable debug (ken2812221)623- #13465 `81069a7` Avoid concurrency issue when make multiple target (ken2812221)624- #13454 `45c00f8` Make sure `LC_ALL=C` is set in all shell scripts (practicalswift)625- #13480 `31145a3` Avoid copies in range-for loops and add a warning to detect them (theuni)626- #13486 `66e1a08` Move rpc/util.cpp from libbitcoin-util to libbitcoin-server (ken2812221)627- #13580 `40334c7` Detect if char equals `int8_t` (ken2812221)628- #12788 `287e4ed` Tune wildcards for LIBSECP256K1 target (kallewoof)629- #13611 `b55f0c3` bugfix: Use `__cpuid_count` for gnu C to avoid gitian build fail (ken2812221)630- #12971 `a6d14b1` Upgrade Qt to 5.9.6 (TheCharlatan)631- #13543 `6c6a300` Add RISC-V support (laanwj)632- #13177 `dcb154e` GCC-7 and glibc-2.27 back compat code (ken2812221)633- #13659 `90b1c7e` add missing leveldb defines (theuni)634- #13368 `c0f1569` Update gitian-build.sh for docker (achow101)635- #13171 `19d8ca5` Change gitian-descriptors to use bionic instead (ken2812221)636- #13604 `75bea05` Add depends 32-bit arm support for bitcoin-qt (TheCharlatan)637- #13623 `9cdb19f` Migrate gitian-build.sh to python (ken2812221)638- #13689 `8c36432` disable Werror when building zmq (greenaddress)639- #13617 `cf7f9ae` release: Require macos 10.10+ (fanquake)640- #13750 `c883653` use MacOS friendly sed syntax in qt.mk (Sjors)641- #13095 `415f2bf` update `ax_boost_chrono`/`unit_test_framework` (fanquake)642- #13732 `e8ffec6` Fix Qt's rcc determinism (Fuzzbawls)643- #13782 `8284f1d` Fix osslsigncode compile issue in gitian-build (ken2812221)644- #13696 `2ab7208` Add aarch64 qt depends support for cross compiling bitcoin-qt (TheCharlatan)645- #13705 `b413ba0` Add format string linter (practicalswift)646- #14000 `48c8459` fix qt determinism (theuni)647- #14018 `3e4829a` Bugfix: NSIS: Exclude `Makefile*` from docs (luke-jr)648- #12906 `048ac83` Avoid `interface` keyword to fix windows gitian build (ryanofsky)649- #13314 `a9b6957` Fix FreeBSD build by including utilstrencodings.h (laanwj)651### Tests and QA652- #12252 `8d57319` Require all tests to follow naming convention (ajtowns)653- #12295 `935eb8d` Enable flake8 warnings for all currently non-violated rules (practicalswift)654- #11858 `b4d8549` Prepare tests for Windows (MarcoFalke)655- #11771 `2dbc4a4` Change invalidtxrequest to use BitcoinTestFramework (jnewbery)656- #12200 `d09968f` Bind functional test nodes to 127.0.0.1 (Sjors)657- #12425 `26dc2da` Add some script tests (richardkiss)658- #12455 `23481fa` Fix bip68 sequence test to reflect updated rpc error message (Empact)659- #12477 `acd1e61` Plug memory leaks and stack-use-after-scope (MarcoFalke)660- #12443 `07090c5` Move common args to bitcoin.conf (MarcoFalke)661- #12570 `39dcac2` Add test cases for HexStr (`std::reverse_iterator` and corner cases) (kostaz)662- #12582 `6012f1c` Fix ListCoins test failure due to unset `g_wallet_allow_fallback_fee` (ryanofsky)663- #12516 `7f99964` Avoid unintentional unsigned integer wraparounds in tests (practicalswift)664- #12512 `955fd23` Don't test against the mempool min fee information in mempool_limit.py (Empact)665- #12600 `29088b1` Add a test for large tx output scripts with segwit input (richardkiss)666- #12627 `791c3ea` Fix some tests to work on native windows (MarcoFalke)667- #12405 `0f58d7f` travis: Full clone for git subtree check (MarcoFalke)668- #11772 `0630974` Change invalidblockrequest to use BitcoinTestFramework (jnewbery)669- #12681 `1846296` Fix ComputeTimeSmart test failure with `-DDEBUG_LOCKORDER` (ryanofsky)670- #12682 `9f04c8e` travis: Clone depth 1 unless `$check_doc` (MarcoFalke)671- #12710 `00d1680` Append scripts to new `test_list` array to fix bad assignment (jeffrade)672- #12720 `872c921` Avoiding 'file' function name from python2 (jeffrade)673- #12728 `4ba3d4f` rename TestNode to TestP2PConn in tests (jnewbery)674- #12746 `2405ce1` Remove unused argument `max_invalid` from `check_estimates(…)` (practicalswift)675- #12718 `185d484` Require exact match in `assert_start_raises_init_eror` (jnewbery, MarcoFalke)676- #12076 `6d36f59` Use node.datadir instead of tmpdir in test framework (MarcoFalke)677- #12772 `b43aba8` ci: Bump travis timeout for make check to 50m (jnewbery)678- #12806 `18606eb` Fix function names in `feature_blocksdir` (MarcoFalke)679- #12811 `0d8fc8d` Make summary row bold-red if any test failed and show failed tests at end of table (laanwj)680- #12790 `490644d` Use blockmaxweight where tests previously had blockmaxsize (conscott)681- #11773 `f0f9732` Change `feature_block.py` to use BitcoinTestFramework (jnewbery)682- #12839 `40f4baf` Remove travis checkout depth (laanwj)683- #11817 `2a09a78` Change `feature_csv_activation.py` to use BitcoinTestFramework (jnewbery)684- #12284 `fa5825d` Remove assigned but never used local variables. Enable Travis checking for unused local variables (practicalswift)685- #12719 `9beded5` Add note about test suite naming convention in developer-notes.md (practicalswift)686- #12861 `c564424` Stop `feature_block.py` from blowing up memory (jnewbery)687- #12851 `648252e` travis: Run verify-commits only on cron jobs (MarcoFalke)688- #12853 `2106c4c` Match full plain text by default (MarcoFalke)689- #11818 `9a2db3b` I accidentally (deliberately) killed it (the ComparisonTestFramework) (jnewbery)690- #12766 `69310a3` Tidy up REST interface functional tests (romanz)691- #12849 `83c7533` Add logging in loops in `p2p_sendhears.py` (ccdle12)692- #12895 `d6f10b2` Add note about test suite name uniqueness requirement to developer notes (practicalswift)693- #12856 `27278df` Add Metaclass for BitcoinTestFramework (WillAyd)694- #12918 `6fc5a05` Assert on correct variable (kallewoof)695- #11878 `a04440f` Add Travis check for duplicate includes (practicalswift)696- #12917 `cf8073f` Windows fixups for functional tests (MarcoFalke)697- #12926 `dd1ca9e` Run unit tests in parallel (sipa)698- #12920 `b1fdfc1` Fix sign for expected values (kallewoof)699- #12947 `979f598` Wallet hd functional test speedup and clarification (instagibbs)700- #12993 `0d69921` Remove compatibility code not needed now when we're on Python 3 (practicalswift)701- #12996 `6a278e0` Remove redundant bytes(…) calls (practicalswift)702- #12949 `6b46288` Avoid copies of CTransaction (MarcoFalke)703- #13007 `0d12570` Fix dangling wallet pointer in vpwallets (promag)704- #13048 `cac6d11` Fix `feature_block` flakiness (jnewbery)705- #12510 `d5b2e98` Add `rpc_bind` test to default-run tests (laanwj)706- #13022 `896a9d0` Attach node index to `test_node` AssertionError and print messages (jamesob)707- #13024 `018c7e5` Add rpcauth pair that generated by rpcauth.py (ken2812221)708- #13013 `a0079d4` bench: Amend `mempool_eviction` test for witness txs (MarcoFalke)709- #13051 `e074097` Normalize executable location (MarcoFalke)710- #13056 `106d929` Make rpcauth.py testable and add unit tests (nixbox)711- #13073 `a785bc3` add rpcauth-test to `AC_CONFIG_LINKS` to fix out-of-tree make check (laanwj)712- #12830 `25ad2f7` Clarify address book error messages, add tests (jamesob)713- #13082 `24106a8` don't test against min relay fee information in `mining_prioritisetransaction.py` (kristapsk)714- #13003 `8d045a0` Add test for orphan handling (MarcoFalke)715- #13105 `9e9b48d` Add --failfast option to functional test runner (jamesob)716- #13130 `3186ad4` Fix race in `rpc_deprecated.py` (jnewbery)717- #13136 `baf6b4e` Fix flake8 warnings in several wallet functional tests (jnewbery)718- #13094 `bf9b03d` Add test for 64-bit Windows PE, modify 32-bit test results (ken2812221)719- #13183 `9458b05` travis: New travis job for `check_docs` steps (glaksmono)720- #12265 `1834d4d` fundrawtransaction: lock watch-only shared address (kallewoof)721- #13188 `4a50ec0` Remove unused option --srcdir (MarcoFalke)722- #12755 `612ba35` Better stderr testing (jnewbery)723- #13198 `196c5a9` Avoid printing to console during cache creation (sdaftuar)724- #13075 `cb9bbf7` Remove 'account' API from wallet functional tests (jnewbery)725- #13221 `ffa86af` travis: Rename the build stage `check_doc` to `lint` (practicalswift)726- #13205 `3cbd25f` Remove spurious error log in `p2p_segwit.py` (jnewbery)727- #13291 `536120e` Don't include torcontrol.cpp into the test file (Empact)728- #13281 `2ac6315` Move linters to test/lint, add readme (MarcoFalke)729- #13215 `f8a29ca` travis: Build tests on ubuntu 18.04 with docker (ken2812221)730- #13349 `24f7011` bench: Don't return a bool from main (laanwj)731- #13347 `87a9d03` travis: Skip cache for lint stage (MarcoFalke)732- #13355 `0b1c0c4` Fix "gmake check" under OpenBSD 6.3 (probably `*BSD`): Avoid using GNU grep specific regexp handling (practicalswift)733- #13353 `d4f6dac` Fixup setting of PATH env var (MarcoFalke)734- #13352 `e24bf1c` Avoid checking reject code for now (MarcoFalke)735- #13383 `2722a1f` bench: Use non-throwing parsedouble(…) instead of throwing boost::lexical_cast<double>(…) (practicalswift)736- #13367 `264efdc` Increase includeconf test coverage (MarcoFalke)737- #13404 `3d3d8ae` speed up of `tx_validationcache_tests` by reusing of CTransaction (lucash-dev)738- #13421 `531a033` Remove `portseed_offset` from test runner (MarcoFalke)739- #13440 `5315660` Log as utf-8 (MarcoFalke)740- #13066 `fa4b906` Migrate verify-commits script to python, run in travis (ken2812221)741- #13447 `4b1edd3` travis: Increase `travis_wait` time while verifying commits (ken2812221)742- #13350 `f532d52` Add logging to provide anchor points when debugging p2p_sendheaders (lmanners)743- #13406 `4382f19` travis: Change mac goal to all deploy (ken2812221)744- #13457 `b222138` Drop variadic macro (MarcoFalke)745- #13512 `3a45493` mininode: Expose connection state through `is_connected` (MarcoFalke)746- #13496 `9ab4c2a` Harden lint-filenames.sh (wodry)747- #13219 `08516e0` bench: Add block assemble benchmark (MarcoFalke)748- #13530 `b1dc39d` bench: Add missing pow.h header (laanwj)749- #12686 `2643fa5` Add -ftrapv to CFLAGS and CXXFLAGS when --enable-debug is used. Enable -ftrapv in Travis (practicalswift)750- #12882 `d96bdd7` Make `test_bitcoin` pass under ThreadSanitzer (clang). Fix lock-order-inversion (potential deadlock) (practicalswift)
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.