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- #6633 `bbc2b39` Report minimum ping time in getpeerinfo (Matt Corallo)502- #6648 `cd381d7` Simplify logic of REST request suffix parsing. (Daniel Kraft)503- #6695 `5e21388` libevent http fixes (Wladimir J. van der Laan)504- #5264 `48efbdb` show scriptSig signature hash types in transaction decodes. fixes #3166 (mruddy)505- #6719 `1a9f19a` Make HTTP server shutdown more graceful (Wladimir J. van der Laan)506- #6859 `0fbfc51` http: Restrict maximum size of http + headers (Wladimir J. van der Laan)507- #5936 `bf7c195` [RPC] Add optional locktime to createrawtransaction (Tom Harding)508- #6877 `26f5b34` rpc: Add maxmempool and effective min fee to getmempoolinfo (Wladimir J. van der Laan)509- #6970 `92701b3` Fix crash in validateaddress with -disablewallet (Wladimir J. van der Laan)510- #5574 `755b4ba` Expose GUI labels in RPC as comments (Luke-Jr)511- #6990 `dbd2c13` http: speed up shutdown (Wladimir J. van der Laan)512- #7013 `36baa9f` Remove LOCK(cs_main) from decodescript (Peter Todd)513- #6999 `972bf9c` add (max)uploadtarget infos to getnettotals RPC help (Jonas Schnelli)514- #7011 `31de241` Add mediantime to getblockchaininfo (Peter Todd)515- #7065 `f91e29f` http: add Boost 1.49 compatibility (Wladimir J. van der Laan)516- #7087 `be281d8` [Net]Add -enforcenodebloom option (Patrick Strateman)517- #7044 `438ee59` RPC: Added additional config option for multiple RPC users. (Gregory Sanders)518- #7072 `c143c49` [RPC] Add transaction size to JSON output (Nikita Zhavoronkov)519- #7022 `9afbd96` Change default block priority size to 0 (Alex Morcos)520- #7141 `c0c08c7` rpc: Don't translate warning messages (Wladimir J. van der Laan)521- #7312 `fd4bd50` Add RPC call abandontransaction (Alex Morcos)522- #7222 `e25b158` RPC: indicate which transactions are replaceable (Suhas Daftuar)523- #7472 `b2f2b85` rpc: Add WWW-Authenticate header to 401 response (Wladimir J. van der Laan)524- #7469 `9cb31e6` net.h fix spelling: misbeha{b,v}ing (Matt)526### Configuration and command-line options528- #6164 `8d05ec7` Allow user to use -debug=1 to enable all debugging (lpescher)529- #5288 `4452205` Added `-whiteconnections=<n>` option (Josh Lehan)530- #6284 `10ac38e` Fix argument parsing oddity with -noX (Wladimir J. van der Laan)531- #6489 `c9c017a` Give a better error message if system clock is bad (Casey Rodarmor)532- #6462 `c384800` implement uacomment config parameter which can add comments to user agent as per BIP-0014 (Pavol Rusnak)533- #6647 `a3babc8` Sanitize uacomment (MarcoFalke)534- #6742 `3b2d37c` Changed logging to make -logtimestamps to work also for -printtoconsole (arnuschky)535- #6846 `2cd020d` alias -h for -help (Daniel Cousens)536- #6622 `7939164` Introduce -maxuploadtarget (Jonas Schnelli)537- #6881 `2b62551` Debug: Add option for microsecond precision in debug.log (Suhas Daftuar)538- #6776 `e06c14f` Support -checkmempool=N, which runs checks once every N transactions (Pieter Wuille)539- #6896 `d482c0a` Make -checkmempool=1 not fail through int32 overflow (Pieter Wuille)540- #6993 `b632145` Add -blocksonly option (Patrick Strateman)541- #7323 `a344880` 0.12: Backport -bytespersigop option (Luke-Jr)542- #7386 `da83ecd` Add option `-permitrbf` to set transaction replacement policy (Wladimir J. van der Laan)543- #7290 `b16b5bc` Add missing options help (MarcoFalke)544- #7440 `c76bfff` Rename permitrbf to mempoolreplacement and provide minimal string-list forward compatibility (Luke-Jr)546### Block and transaction handling548- #6203 `f00b623` Remove P2SH coinbase flag, no longer interesting (Luke-Jr)549- #6222 `9c93ee5` Explicitly set tx.nVersion for the genesis block and mining tests (Mark Friedenbach)550- #5985 `3a1d3e8` Fix removing of orphan transactions (Alex Morcos)551- #6221 `dd8fe82` Prune: Support noncontiguous block files (Adam Weiss)552- #6124 `41076aa` Mempool only CHECKLOCKTIMEVERIFY (BIP65) verification, unparameterized version (Peter Todd)553- #6329 `d0a10c1` acceptnonstdtxn option to skip (most) "non-standard transaction" checks, for testnet/regtest only (Luke-Jr)554- #6410 `7cdefb9` Implement accurate memory accounting for mempool (Pieter Wuille)555- #6444 `24ce77d` Exempt unspendable transaction outputs from dust checks (dexX7)556- #5913 `a0625b8` Add absurdly high fee message to validation state (Shaul Kfir)557- #6177 `2f746c6` Prevent block.nTime from decreasing (Mark Friedenbach)558- #6377 `e545371` Handle no chain tip available in InvalidChainFound() (Ross Nicoll)559- #6551 `39ddaeb` Handle leveldb::DestroyDB() errors on wipe failure (Adam Weiss)560- #6654 `b0ce450` Mempool package tracking (Suhas Daftuar)561- #6715 `82d2aef` Fix mempool packages (Suhas Daftuar)562- #6680 `4f44530` use CBlockIndex instead of uint256 for UpdatedBlockTip signal (Jonas Schnelli)563- #6650 `4fac576` Obfuscate chainstate (James O'Beirne)564- #6777 `9caaf6e` Unobfuscate chainstate data in CCoinsViewDB::GetStats (James O'Beirne)565- #6722 `3b20e23` Limit mempool by throwing away the cheapest txn and setting min relay fee to it (Matt Corallo)566- #6889 `38369dd` fix locking issue with new mempool limiting (Jonas Schnelli)567- #6464 `8f3b3cd` Always clean up manual transaction prioritization (Casey Rodarmor)568- #6865 `d0badb9` Fix chainstate serialized_size computation (Pieter Wuille)569- #6566 `ff057f4` BIP-113: Mempool-only median time-past as endpoint for lock-time calculations (Mark Friedenbach)570- #6934 `3038eb6` Restores mempool only BIP113 enforcement (Gregory Maxwell)571- #6965 `de7d459` Benchmark sanity checks and fork checks in ConnectBlock (Matt Corallo)572- #6918 `eb6172a` Make sigcache faster, more efficient, larger (Pieter Wuille)573- #6771 `38ed190` Policy: Lower default limits for tx chains (Alex Morcos)574- #6932 `73fa5e6` ModifyNewCoins saves database lookups (Alex Morcos)575- #5967 `05d5918` Alter assumptions in CCoinsViewCache::BatchWrite (Alex Morcos)576- #6871 `0e93586` nSequence-based Full-RBF opt-in (Peter Todd)577- #7008 `eb77416` Lower bound priority (Alex Morcos)578- #6915 `2ef5ffa` [Mempool] Improve removal of invalid transactions after reorgs (Suhas Daftuar)579- #6898 `4077ad2` Rewrite CreateNewBlock (Alex Morcos)580- #6872 `bdda4d5` Remove UTXO cache entries when the tx they were added for is removed/does not enter mempool (Matt Corallo)581- #7062 `12c469b` [Mempool] Fix mempool limiting and replace-by-fee for PrioritiseTransaction (Suhas Daftuar)582- #7276 `76de36f` Report non-mandatory script failures correctly (Pieter Wuille)583- #7217 `e08b7cb` Mark blocks with too many sigops as failed (Suhas Daftuar)584- #7387 `f4b2ce8` Get rid of inaccurate ScriptSigArgsExpected (Pieter Wuille)586### P2P protocol and network code588- #6172 `88a7ead` Ignore getheaders requests when not synced (Suhas Daftuar)589- #5875 `9d60602` Be stricter in processing unrequested blocks (Suhas Daftuar)590- #6256 `8ccc07c` Use best header chain timestamps to detect partitioning (Gavin Andresen)591- #6283 `a903ad7` make CAddrMan::size() return the correct type of size_t (Diapolo)592- #6272 `40400d5` Improve proxy initialization (continues #4871) (Wladimir J. van der Laan, Diapolo)593- #6310 `66e5465` banlist.dat: store banlist on disk (Jonas Schnelli)594- #6412 `1a2de32` Test whether created sockets are select()able (Pieter Wuille)595- #6498 `219b916` Keep track of recently rejected transactions with a rolling bloom filter (cont'd) (Peter Todd)596- #6556 `70ec975` Fix masking of irrelevant bits in address groups. (Alex Morcos)597- #6530 `ea19c2b` Improve addrman Select() performance when buckets are nearly empty (Pieter Wuille)598- #6583 `af9305a` add support for miniupnpc api version 14 (Pavel Vasin)599- #6374 `69dc5b5` Connection slot exhaustion DoS mitigation (Patrick Strateman)600- #6636 `536207f` net: correctly initialize nMinPingUsecTime (Wladimir J. van der Laan)601- #6579 `0c27795` Add NODE_BLOOM service bit and bump protocol version (Matt Corallo)602- #6148 `999c8be` Relay blocks when pruning (Suhas Daftuar)603- #6588 `cf9bb11` In (strCommand == "tx"), return if AlreadyHave() (Tom Harding)604- #6974 `2f71b07` Always allow getheaders from whitelisted peers (Wladimir J. van der Laan)605- #6639 `bd629d7` net: Automatically create hidden service, listen on Tor (Wladimir J. van der Laan)606- #6984 `9ffc687` don't enforce maxuploadtarget's disconnect for whitelisted peers (Jonas Schnelli)607- #7046 `c322652` Net: Improve blocks only mode. (Patrick Strateman)608- #7090 `d6454f6` Connect to Tor hidden services by default (when listening on Tor) (Peter Todd)609- #7106 `c894fbb` Fix and improve relay from whitelisted peers (Pieter Wuille)610- #7129 `5d5ef3a` Direct headers announcement (rebase of #6494) (Pieter Wuille)611- #7079 `1b5118b` Prevent peer flooding inv request queue (redux) (redux) (Gregory Maxwell)612- #7166 `6ba25d2` Disconnect on mempool requests from peers when over the upload limit. (Gregory Maxwell)613- #7133 `f31955d` Replace setInventoryKnown with a rolling bloom filter (rebase of #7100) (Pieter Wuille)614- #7174 `82aff88` Don't do mempool lookups for "mempool" command without a filter (Matt Corallo)615- #7179 `44fef99` net: Fix sent reject messages for blocks and transactions (Wladimir J. van der Laan)616- #7181 `8fc174a` net: Add and document network messages in protocol.h (Wladimir J. van der Laan)617- #7125 `10b88be` Replace global trickle node with random delays (Pieter Wuille)618- #7415 `cb83beb` net: Hardcoded seeds update January 2016 (Wladimir J. van der Laan)619- #7438 `e2d9a58` Do not absolutely protect local peers; decide group ties based on time (Gregory Maxwell)620- #7439 `86755bc` Add whitelistforcerelay to control forced relaying. [#7099 redux] (Gregory Maxwell)621- #7482 `e16f5b4` Ensure headers count is correct (Suhas Daftuar)623### Validation625- #5927 `8d9f0a6` Reduce checkpoints' effect on consensus. (Pieter Wuille)626- #6299 `24f2489` Bugfix: Don't check the genesis block header before accepting it (Jorge Timón)627- #6361 `d7ada03` Use real number of cores for default -par, ignore virtual cores (Wladimir J. van der Laan)628- #6519 `87f37e2` Make logging for validation optional (Wladimir J. van der Laan)629- #6351 `2a1090d` CHECKLOCKTIMEVERIFY (BIP65) IsSuperMajority() soft-fork (Peter Todd)630- #6931 `54e8bfe` Skip BIP 30 verification where not necessary (Alex Morcos)631- #6954 `e54ebbf` Switch to libsecp256k1-based ECDSA validation (Pieter Wuille)632- #6508 `61457c2` Switch to a constant-space Merkle root/branch algorithm. (Pieter Wuille)633- #6914 `327291a` Add pre-allocated vector type and use it for CScript (Pieter Wuille)634- #7500 `889e5b3` Correctly report high-S violations (Pieter Wuille)637### Build system639- #6210 `0e4f2a0` build: disable optional use of gmp in internal secp256k1 build (Wladimir J. van der Laan)640- #6214 `87406aa` [OSX] revert renaming of Bitcoin-Qt.app and use CFBundleDisplayName (partial revert of #6116) (Jonas Schnelli)641- #6218 `9d67b10` build/gitian misc updates (Cory Fields)642- #6269 `d4565b6` gitian: Use the new bitcoin-detached-sigs git repo for OSX signatures (Cory Fields)643- #6418 `d4a910c` Add autogen.sh to source tarball. (randy-waterhouse)644- #6373 `1ae3196` depends: non-qt bumps for 0.12 (Cory Fields)645- #6434 `059b352` Preserve user-passed CXXFLAGS with --enable-debug (Gavin Andresen)646- #6501 `fee6554` Misc build fixes (Cory Fields)647- #6600 `ef4945f` Include bitcoin-tx binary on Debian/Ubuntu (Zak Wilcox)648- #6619 `4862708` depends: bump miniupnpc and ccache (Michael Ford)649- #6801 `ae69a75` [depends] Latest config.guess and config.sub (Michael Ford)650- #6938 `193f7b5` build: If both Qt4 and Qt5 are installed, use Qt5 (Wladimir J. van der Laan)651- #7092 `348b281` build: Set osx permissions in the dmg to make Gatekeeper happy (Cory Fields)652- #6980 `eccd671` [Depends] Bump Boost, miniupnpc, ccache & zeromq (Michael Ford)653- #7424 `aa26ee0` Add security/export checks to gitian and fix current failures (Cory Fields)655### Wallet657- #6183 `87550ee` Fix off-by-one error w/ nLockTime in the wallet (Peter Todd)658- #6057 `ac5476e` re-enable wallet in autoprune (Jonas Schnelli)659- #6356 `9e6c33b` Delay initial pruning until after wallet init (Adam Weiss)660- #6088 `91389e5` fundrawtransaction (Matt Corallo)661- #6415 `ddd8d80` Implement watchonly support in fundrawtransaction (Matt Corallo)662- #6567 `0f0f323` Fix crash when mining with empty keypool. (Daniel Kraft)663- #6688 `4939eab` Fix locking in GetTransaction. (Alex Morcos)664- #6645 `4dbd43e` Enable wallet key imports without rescan in pruned mode. (Gregory Maxwell)665- #6550 `5b77244` Do not store Merkle branches in the wallet. (Pieter Wuille)666- #5924 `12a7712` Clean up change computation in CreateTransaction. (Daniel Kraft)667- #6906 `48b5b84` Reject invalid pubkeys when reading ckey items from the wallet. (Gregory Maxwell)668- #7010 `e0a5ef8` Fix fundrawtransaction handling of includeWatching (Peter Todd)669- #6851 `616d61b` Optimisation: Store transaction list order in memory rather than compute it every need (Luke-Jr)670- #6134 `e92377f` Improve usage of fee estimation code (Alex Morcos)671- #7103 `a775182` [wallet, rpc tests] Fix settxfee, paytxfee (MarcoFalke)672- #7105 `30c2d8c` Keep track of explicit wallet conflicts instead of using mempool (Pieter Wuille)673- #7096 `9490bd7` [Wallet] Improve minimum absolute fee GUI options (Jonas Schnelli)674- #6216 `83f06ca` Take the training wheels off anti-fee-sniping (Peter Todd)675- #4906 `96e8d12` Issue#1643: Coinselection prunes extraneous inputs from ApproximateBestSubset (Murch)676- #7200 `06c6a58` Checks for null data transaction before issuing error to debug.log (Andy Craze)677- #7296 `a36d79b` Add sane fallback for fee estimation (Alex Morcos)678- #7293 `ff9b610` Add regression test for vValue sort order (MarcoFalke)679- #7306 `4707797` Make sure conflicted wallet tx's update balances (Alex Morcos)680- #7381 `621bbd8` [walletdb] Fix syntax error in key parser (MarcoFalke)681- #7491 `00ec73e` wallet: Ignore MarkConflict if block hash is not known (Wladimir J. van der Laan)682- #7502 `1329963` Update the wallet best block marker before pruning (Pieter Wuille)684### GUI686- #6217 `c57e12a` disconnect peers from peers tab via context menu (Diapolo)687- #6209 `ab0ec67` extend rpc console peers tab (Diapolo)688- #6484 `1369d69` use CHashWriter also in SignVerifyMessageDialog (Pavel Vasin)689- #6487 `9848d42` Introduce PlatformStyle (Wladimir J. van der Laan)690- #6505 `100c9d3` cleanup icons (MarcoFalke)691- #4587 `0c465f5` allow users to set -onion via GUI (Diapolo)692- #6529 `c0f66ce` show client user agent in debug window (Diapolo)693- #6594 `878ea69` Disallow duplicate windows. (Casey Rodarmor)694- #5665 `6f55cdd` add verifySize() function to PaymentServer (Diapolo)695- #6317 `ca5e2a1` minor optimisations in peertablemodel (Diapolo)696- #6315 `e59d2a8` allow banning and unbanning over UI->peers table (Jonas Schnelli)697- #6653 `e04b2fa` Pop debug window in foreground when opened twice (MarcoFalke)698- #6864 `c702521` Use monospace font (MarcoFalke)699- #6887 `3694b74` Update coin control and smartfee labels (MarcoFalke)700- #7000 `814697c` add shortcurts for debug-/console-window (Jonas Schnelli)701- #6951 `03403d8` Use maxTxFee instead of 10000000 (MarcoFalke)702- #7051 `a190777` ui: Add "Copy raw transaction data" to transaction list context menu (Wladimir J. van der Laan)703- #6979 `776848a` simple mempool info in debug window (Jonas Schnelli)704- #7006 `26af1ac` add startup option to reset Qt settings (Jonas Schnelli)705- #6780 `2a94cd6` Call init's parameter interaction before we create the UI options model (Jonas Schnelli)706- #7112 `96b8025` reduce cs_main locks during tip update, more fluently update UI (Jonas Schnelli)707- #7206 `f43c2f9` Add "NODE_BLOOM" to guiutil so that peers don't get UNKNOWN[4] (Matt Corallo)708- #7282 `5cadf3e` fix coincontrol update issue when deleting a send coins entry (Jonas Schnelli)709- #7319 `1320300` Intro: Display required space (MarcoFalke)710- #7318 `9265e89` quickfix for RPC timer interface problem (Jonas Schnelli)711- #7327 `b16b5bc` [Wallet] Transaction View: LastMonth calculation fixed (crowning-)712- #7364 `7726c48` [qt] Windows: Make rpcconsole monospace font larger (MarcoFalke)713- #7384 `294f432` [qt] Peertable: Increase SUBVERSION_COLUMN_WIDTH (MarcoFalke)715### Tests and QA717- #6305 `9005c91` build: comparison tool swap (Cory Fields)718- #6318 `e307e13` build: comparison tool NPE fix (Cory Fields)719- #6337 `0564c5b` Testing infrastructure: mocktime fixes (Gavin Andresen)720- #6350 `60abba1` add unit tests for the decodescript rpc (mruddy)721- #5881 `3203a08` Fix and improve txn_doublespend.py test (Tom Harding)722- #6390 `6a73d66` tests: Fix bitcoin-tx signing test case (Wladimir J. van der Laan)723- #6368 `7fc25c2` CLTV: Add more tests to improve coverage (Esteban Ordano)724- #6414 `5121c68` Fix intermittent test failure, reduce test time (Tom Harding)725- #6417 `44fa82d` [QA] fix possible reorg issue in (fund)rawtransaction(s).py RPC test (Jonas Schnelli)726- #6398 `3d9362d` rpc: Remove chain-specific RequireRPCPassword (Wladimir J. van der Laan)727- #6428 `bb59e78` tests: Remove old sh-based test framework (Wladimir J. van der Laan)728- #5515 `d946e9a` RFC: Assert on probable deadlocks if the second lock isnt try_lock (Matt Corallo)729- #6287 `d2464df` Clang lock debug (Cory Fields)730- #6465 `410fd74` Don't share objects between TestInstances (Casey Rodarmor)731- #6534 `6c1c7fd` Fix test locking issues and un-revert the probable-deadlines assertions commit (Cory Fields)732- #6509 `bb4faee` Fix race condition on test node shutdown (Casey Rodarmor)733- #6523 `561f8af` Add p2p-fullblocktest.py (Casey Rodarmor)734- #6590 `981fd92` Fix stale socket rebinding and re-enable python tests for Windows (Cory Fields)735- #6730 `cb4d6d0` build: Remove dependency of bitcoin-cli on secp256k1 (Wladimir J. van der Laan)736- #6616 `5ab5dca` Regression Tests: Migrated rpc-tests.sh to all Python rpc-tests.py (Peter Tschipper)737- #6720 `d479311` Creates unittests for addrman, makes addrman more testable. (Ethan Heilman)738- #6853 `c834f56` Added fPowNoRetargeting field to Consensus::Params (Eric Lombrozo)739- #6827 `87e5539` [rpc-tests] Check return code (MarcoFalke)740- #6848 `f2c869a` Add DERSIG transaction test cases (Ross Nicoll)741- #6813 `5242bb3` Support gathering code coverage data for RPC tests with lcov (dexX7)742- #6888 `c8322ff` Clear strMiscWarning before running PartitionAlert (Eric Lombrozo)743- #6894 `2675276` [Tests] Fix BIP65 p2p test (Suhas Daftuar)744- #6863 `725539e` [Test Suite] Fix test for null tx input (Daniel Kraft)745- #6926 `a6d0d62` tests: Initialize networking on windows (Wladimir J. van der Laan)746- #6822 `9fa54a1` [tests] Be more strict checking dust (MarcoFalke)747- #6804 `5fcc14e` [tests] Add basic coverage reporting for RPC tests (James O'Beirne)748- #7045 `72dccfc` Bugfix: Use unique autostart filenames on Linux for testnet/regtest (Luke-Jr)749- #7095 `d8368a0` Replace scriptnum_test's normative ScriptNum implementation (Wladimir J. van der Laan)750- #7063 `6abf6eb` [Tests] Add prioritisetransaction RPC test (Suhas Daftuar)
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.