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.
251- The `resendwallettransactions` RPC throws an error if the `-walletbroadcast` option is set to false (See [PR 10995](https://github.com/bitcoin/bitcoin/pull/10995)).253- The second argument in the `submitblock` RPC argument has been renamed from `parameters` to `dummy`. This argument never had any effect, and the renaming is simply to communicate this fact to the user (See [PR 10191](https://github.com/bitcoin/bitcoin/pull/10191))254(Clients should, however, use positional arguments for `submitblock` in order to be compatible with BIP 22.)256- The `verbose` argument of `getblock` has been renamed to `verbosity` and now takes an integer from 0 to 2. Verbose level 0 is equivalent to `verbose=false`. Verbose level 1 is equivalent to `verbose=true`. Verbose level 2 will give the full transaction details of each transaction in the output as given by `getrawtransaction`. The old behavior of using the `verbose` named argument and a boolean value is still maintained for compatibility.258- Error codes have been updated to be more accurate for the following error cases (See [PR 9853](https://github.com/bitcoin/bitcoin/pull/9853)):259- `getblock` now returns RPC_MISC_ERROR if the block can't be found on disk (for260example if the block has been pruned). Previously returned RPC_INTERNAL_ERROR.261- `pruneblockchain` now returns RPC_MISC_ERROR if the blocks cannot be pruned262because the node is not in pruned mode. Previously returned RPC_METHOD_NOT_FOUND.263- `pruneblockchain` now returns RPC_INVALID_PARAMETER if the blocks cannot be pruned264because the supplied timestamp is too late. Previously returned RPC_INTERNAL_ERROR.265- `pruneblockchain` now returns RPC_MISC_ERROR if the blocks cannot be pruned266because the blockchain is too short. Previously returned RPC_INTERNAL_ERROR.267- `setban` now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the supplied IP address268or subnet is invalid. Previously returned RPC_CLIENT_NODE_ALREADY_ADDED.269- `setban` now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the user tries to unban270a node that has not previously been banned. Previously returned RPC_MISC_ERROR.271- `removeprunedfunds` now returns RPC_WALLET_ERROR if `bitcoind` is unable to remove272the transaction. Previously returned RPC_INTERNAL_ERROR.273- `removeprunedfunds` now returns RPC_INVALID_PARAMETER if the transaction does not274exist in the wallet. Previously returned RPC_INTERNAL_ERROR.275- `fundrawtransaction` now returns RPC_INVALID_ADDRESS_OR_KEY if an invalid change276address is provided. Previously returned RPC_INVALID_PARAMETER.277- `fundrawtransaction` now returns RPC_WALLET_ERROR if `bitcoind` is unable to create278the transaction. The error message provides further details. Previously returned279RPC_INTERNAL_ERROR.280- `bumpfee` now returns RPC_INVALID_PARAMETER if the provided transaction has281descendants in the wallet. Previously returned RPC_MISC_ERROR.282- `bumpfee` now returns RPC_INVALID_PARAMETER if the provided transaction has283descendants in the mempool. Previously returned RPC_MISC_ERROR.284- `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has285has been mined or conflicts with a mined transaction. Previously returned286RPC_INVALID_ADDRESS_OR_KEY.287- `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction is not288BIP 125 replaceable. Previously returned RPC_INVALID_ADDRESS_OR_KEY.289- `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has already290been bumped by a different transaction. Previously returned RPC_INVALID_REQUEST.291- `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction contains292inputs which don't belong to this wallet. Previously returned RPC_INVALID_ADDRESS_OR_KEY.293- `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has multiple change294outputs. Previously returned RPC_MISC_ERROR.295- `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has no change296output. Previously returned RPC_MISC_ERROR.297- `bumpfee` now returns RPC_WALLET_ERROR if the fee is too high. Previously returned298RPC_MISC_ERROR.299- `bumpfee` now returns RPC_WALLET_ERROR if the fee is too low. Previously returned300RPC_MISC_ERROR.301- `bumpfee` now returns RPC_WALLET_ERROR if the change output is too small to bump the302fee. Previously returned RPC_MISC_ERROR.3040.15.0 Change log305=================307### RPC and other APIs308- #9485 `61a640e` ZMQ example using python3 and asyncio (mcelrath)309- #9894 `0496e15` remove 'label' filter for rpc command help (instagibbs)310- #9853 `02bd6e9` Fix error codes from various RPCs (jnewbery)311- #9842 `598ef9c` Fix RPC failure testing (continuation of #9707) (jnewbery)312- #10038 `d34995a` Add mallocinfo mode to `getmemoryinfo` RPC (laanwj)313- #9500 `3568b30` [Qt][RPC] Autocomplete commands for 'help' command in debug console (achow101)314- #10056 `e6156a0` [zmq] Call va_end() on va_start()ed args (kallewoof)315- #10086 `7438cea` Trivial: move rpcserialversion into RPC option group (jlopp)316- #10150 `350b224` [rpc] Add logging rpc (jnewbery)317- #10208 `393160c` [wallet] Rescan abortability (kallewoof)318- #10143 `a987def` [net] Allow disconnectnode RPC to be called with node id (jnewbery)319- #10281 `0e8499c` doc: Add RPC interface guidelines (laanwj)320- #9733 `d4732f3` Add getchaintxstats RPC (sipa)321- #10310 `f4b15e2` [doc] Add hint about getmempoolentry to getrawmempool help (kallewoof)322- #8704 `96c850c` [RPC] Transaction details in getblock (achow101)323- #8952 `9390845` Add query options to listunspent RPC call (pedrobranco)324- #10413 `08ac35a` Fix docs (there's no rpc command setpaytxfee) (RHavar)325- #8384 `e317c0d` Add witness data output to TxInError messages (instagibbs)326- #9571 `4677151` RPC: getblockchaininfo returns BIP signaling statistics (pinheadmz)327- #10450 `ef2d062` Fix bumpfee rpc "errors" return value (ryanofsky)328- #10475 `39039b1` [RPC] getmempoolinfo mempoolminfee is a BTC/KB feerate (instagibbs)329- #10478 `296928e` rpc: Add listen address to incoming connections in `getpeerinfo` (laanwj)330- #10403 `08d0390` Fix importmulti failure to return rescan errors (ryanofsky)331- #9740 `9fec4da` Add friendly output to dumpwallet (aideca)332- #10426 `16f6c98` Replace bytes_serialized with bogosize (sipa)333- #10252 `980deaf` RPC/Mining: Restore API compatibility for prioritisetransaction (luke-jr)334- #9672 `46311e7` Opt-into-RBF for RPC & bitcoin-tx (luke-jr)335- #10481 `9c248e3` Decodehextx scripts sanity check (achow101)336- #10488 `fa1f106` Note that the prioritizetransaction dummy value is deprecated, and has no meaning (TheBlueMatt)337- #9738 `c94b89e` gettxoutproof() should return consistent result (jnewbery)338- #10191 `00350bd` [trivial] Rename unused RPC arguments 'dummy' (jnewbery)339- #10627 `b62b4c8` fixed listunspent rpc convert parameter (tnakagawa)340- #10412 `bef02fb` Improve wallet rescan API (ryanofsky)341- #10400 `1680ee0` [RPC] Add an uptime command that displays the amount of time (in seconds) bitcoind has been running (rvelhote)342- #10683 `d81bec7` rpc: Move the `generate` RPC call to rpcwallet (laanwj)343- #10710 `30bc0f6` REST/RPC example update (Mirobit)344- #10747 `9edda0c` [rpc] fix verbose argument for getblock in bitcoin-cli (jnewbery)345- #10589 `104f5f2` More economical fee estimates for RBF and RPC options to control (morcos)346- #10543 `b27b004` Change API to estimaterawfee (morcos)347- #10807 `afd2fca` getbalance example covers at least 6 confirms (instagibbs)348- #10707 `75b5643` Better API for estimatesmartfee RPC (morcos)349- #10784 `9e8d6a3` Do not allow users to get keys from keypool without reserving them (TheBlueMatt)350- #10857 `d445a2c` [RPC] Add a deprecation warning to getinfo's output (achow101)351- #10571 `adf170d` [RPC]Move transaction combining from signrawtransaction to new RPC (achow101)352- #10783 `041dad9` [RPC] Various rpc argument fixes (instagibbs)353- #9622 `6ef3c7e` [rpc] listsinceblock should include lost transactions when parameter is a reorg'd block (kallewoof)354- #10799 `8537187` Prevent user from specifying conflicting parameters to fundrawtx (TheBlueMatt)355- #10931 `0b11a07` Fix misleading "Method not found" multiwallet errors (ryanofsky)356- #10788 `f66c596` [RPC] Fix addwitnessaddress by replacing ismine with producesignature (achow101)357- #10999 `627c3c0` Fix amounts formatting in `decoderawtransaction` (laanwj)358- #11002 `4268426` [wallet] return correct error code from resendwallettransaction (jnewbery)359- #11029 `96a63a3` [RPC] trivial: gettxout no longer shows version of tx (FelixWeis)360- #11083 `6c2b008` Fix combinerawtransaction RPC help result section (jonasnick)361- #11027 `07164bb` [RPC] Only return hex field once in getrawtransaction (achow101)362- #10698 `5af6572` Be consistent in calling transactions "replaceable" for Opt-In RBF (TheBlueMatt)364### Block and transaction handling365- #9801 `a8c5751` Removed redundant parameter from mempool.PrioritiseTransaction (gubatron)366- #9819 `1efc99c` Remove harmless read of unusued priority estimates (morcos)367- #9822 `b7547fa` Remove block file location upgrade code (benma)368- #9602 `30ff3a2` Remove coin age priority and free transactions - implementation (morcos)369- #9548 `47510ad` Remove min reasonable fee (morcos)370- #10249 `c73af54` Switch CCoinsMap from boost to std unordered_map (sipa)371- #9966 `2a183de` Control mempool persistence using a command line parameter (jnewbery)372- #10199 `318ea50` Better fee estimates (morcos)373- #10196 `bee3529` Bugfix: PrioritiseTransaction updates the mempool tx counter (sdaftuar)374- #10195 `1088b02` Switch chainstate db and cache to per-txout model (sipa)375- #10284 `c2ab38b` Always log debug information for fee calculation in CreateTransaction (morcos)376- #10503 `efbcf2b` Use REJECT_DUPLICATE for already known and conflicted txn (sipa)377- #10537 `b3eb0d6` Few Minor per-utxo assert-semantics re-adds and tweak (TheBlueMatt)378- #10626 `8c841a3` doc: Remove outdated minrelaytxfee comment (MarcoFalke)379- #10559 `234ffc6` Change semantics of HaveCoinInCache to match HaveCoin (morcos)380- #10581 `7878353` Simplify return values of GetCoin/HaveCoin(InCache) (sipa)381- #10684 `a381f6a` Remove no longer used mempool.exists(outpoint) (morcos)382- #10148 `d4e551a` Use non-atomic flushing with block replay (sipa)383- #10685 `30c2130` Clarify CCoinsViewMemPool documentation (TheBlueMatt)384- #10558 `90a002e` Address nits from per-utxo change (morcos)385- #10706 `6859ad2` Improve wallet fee logic and fix GUI bugs (morcos)386- #10526 `754aa02` Force on-the-fly compaction during pertxout upgrade (sipa)387- #10985 `d896d5c` Add undocumented -forcecompactdb to force LevelDB compactions (sipa)388- #10292 `e4bbd3d` Improved efficiency in COutPoint constructors (mm-s)389- #10290 `8d6d43e` Add -stopatheight for benchmarking (sipa)391### P2P protocol and network code392- #9726 `7639d38` netbase: Do not print an error on connection timeouts through proxy (laanwj)393- #9805 `5b583ef` Add seed.btc.petertodd.org to mainnet DNS seeds (petertodd)394- #9861 `22f609f` Trivial: Debug log ambiguity fix for peer addrs (keystrike)395- #9774 `90cb2a2` Enable host lookups for -proxy and -onion parameters (jmcorgan)396- #9558 `7b585cf` Clarify assumptions made about when BlockCheck is called (TheBlueMatt)397- #10135 `e19586a` [p2p] Send the correct error code in reject messages (jnewbery)398- #9665 `eab00d9` Use cached [compact] blocks to respond to getdata messages (TheBlueMatt)399- #10215 `a077a90` Check interruptNet during dnsseed lookups (TheBlueMatt)400- #10234 `faf2dea` [net] listbanned RPC and QT should show correct banned subnets (jnewbery)401- #10134 `314ebdf` [qa] Fixes segwit block relay test after inv-direct-fetch was disabled (sdaftuar)402- #10351 `3f57c55` removed unused code in INV message (Greg-Griffith)403- #10061 `ae78609` [net] Added SetSocketNoDelay() utility function (tjps)404- #10408 `28c6e8d` Net: Improvements to Tor control port parser (str4d)405- #10460 `5c63d66` Broadcast address every day, not 9 hours (sipa)406- #10471 `400fdd0` Denote functions CNode::GetRecvVersion() and CNode::GetRefCount() as const (pavlosantoniou)407- #10345 `67700b3` [P2P] Timeout for headers sync (sdaftuar)408- #10564 `8d9f45e` Return early in IsBanned (gmaxwell)409- #10587 `de8db47` Net: Fix resource leak in ReadBinaryFile(...) (practicalswift)410- #9549 `b33ca14` [net] Avoid possibility of NULL pointer dereference in MarkBlockAsInFlight(...) (practicalswift)411- #10446 `2772dc9` net: avoid extra dns query per seed (theuni)412- #10824 `9dd6a2b` Avoid unnecessary work in SetNetworkActive (promag)413- #10948 `df3a6f4` p2p: Hardcoded seeds update pre-0.15 branch (laanwj)414- #10977 `02f4c4a` [net] Fix use of uninitialized value in getnetworkinfo(const JSONRPCRequest&) (practicalswift)415- #10982 `c8b62c7` Disconnect network service bits 6 and 8 until Aug 1, 2018 (TheBlueMatt)416- #11012 `0e5cff6` Make sure to clean up mapBlockSource if we've already seen the block (theuni)418### Validation419- #9725 `67023e9` CValidationInterface Cleanups (TheBlueMatt)420- #10178 `2584925` Remove CValidationInterface::UpdatedTransaction (TheBlueMatt)421- #10201 `a6548a4` pass Consensus::Params& to functions in validation.cpp and make them static (mariodian)422- #10297 `431a548` Simplify DisconnectBlock arguments/return value (sipa)423- #10464 `f94b7d5` Introduce static DoWarning (simplify UpdateTip) (jtimon)424- #10569 `2e7d8f8` Fix stopatheight (achow101)425- #10192 `2935b46` Cache full script execution results in addition to signatures (TheBlueMatt)426- #10179 `21ed30a` Give CValidationInterface Support for calling notifications on the CScheduler Thread (TheBlueMatt)427- #10557 `66270a4` Make check to distinguish between orphan txs and old txs more efficient (morcos)428- #10775 `7c2400c` nCheckDepth chain height fix (romanornr)429- #10821 `16240f4` Add SSE4 optimized SHA256 (sipa)430- #10854 `04d395e` Avoid using sizes on non-fixed-width types to derive protocol constants (gmaxwell)431- #10945 `2a50b11` Update defaultAssumeValid according to release-process.md (gmaxwell)432- #10986 `2361208` Update chain transaction statistics (sipa)433- #11028 `6bdf4b3` Avoid masking of difficulty adjustment errors by checkpoints (sipa)434- #9533 `cb598cf` Allow non-power-of-2 signature cache sizes (sipa)435- #9208 `acd9957` Improve DisconnectTip performance (sdaftuar)436- #10618 `f90603a` Remove confusing MAX_BLOCK_BASE_SIZE (gmaxwell)437- #10758 `bd92424` Fix some chainstate-init-order bugs (TheBlueMatt)438- #10550 `b7296bc` Don't return stale data from CCoinsViewCache::Cursor() (ryanofsky)439- #10998 `2507fd5` Fix upgrade cancel warnings (TheBlueMatt)440- #9868 `cbdb473` Abstract out the command line options for block assembly (sipa)442### Build system443- #9727 `5f0556d` Remove fallbacks for boost_filesystem < v3 (laanwj)444- #9788 `50a2265` gitian: bump descriptors for master (theuni)445- #9794 `7ca2f54` Minor update to qrencode package builder (mitchellcash)446- #9514 `2cc0df1` release: Windows signing script (theuni)447- #9921 `8b789d8` build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL (laanwj)448- #10011 `32d1b34` build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT (laanwj)449- #9946 `90dd9e6` Fix build errors if spaces in path or parent directory (pinheadmz)450- #10136 `81da4c7` build: Disable Wshadow warning (laanwj)451- #10166 `64962ae` Ignore Doxyfile generated from Doxyfile.in template (paveljanik)452- #10239 `0416ea9` Make Boost use std::atomic internally (sipa)453- #10228 `27faa6c` build: regenerate bitcoin-config.h as necessary (theuni)454- #10273 `8979f45` [scripts] Minor improvements to `macdeployqtplus` script (chrisgavin)455- #10325 `a26280b` 0.15.0 Depends Updates (fanquake)456- #10328 `79aeff6` Update contrib/debian to latest Ubuntu PPA upload (TheBlueMatt)457- #7522 `d25449f` Bugfix: Only use git for build info if the repository is actually the right one (luke-jr)458- #10489 `e654d61` build: silence gcc7's implicit fallthrough warning (theuni)459- #10549 `ad1a13e` Avoid printing generic and duplicated "checking for QT" during ./configure (drizzt)460- #10628 `8465b68` [depends] expat 2.2.1 (fanquake)461- #10806 `db825d2` build: verify that the assembler can handle crc32 functions (theuni)462- #10766 `b4d03be` Building Environment: Set ARFLAGS to cr (ReneNyffenegger)463- #10803 `91edda8` Explicitly search for bdb5.3 (pstratem)464- #10855 `81560b0` random: only use getentropy on openbsd (theuni)465- #10508 `1caafa6` Run Qt wallet tests on travis (ryanofsky)466- #10851 `e222618` depends: fix fontconfig with newer glibc (theuni)467- #10971 `88b1e4b` build: fix missing sse42 in depends builds (theuni)468- #11097 `129b03f` gitian: quick hack to fix version string in releases (theuni)469- #10039 `919aaf6` Fix compile errors with Qt 5.3.2 and Boost 1.55.0 (ryanofsky)470- #10168 `7032021` Fix build warning from #error text (jnewbery)471- #10301 `318392c` Check if sys/random.h is required for getentropy (jameshilliard)473### GUI474- #9724 `1a9fd5c` Qt/Intro: Add explanation of IBD process (luke-jr)475- #9834 `b00ba62` qt: clean up initialize/shutdown signals (benma)476- #9481 `ce01e62` [Qt] Show more significant warning if we fall back to the default fee (jonasschnelli)477- #9974 `b9f930b` Add basic Qt wallet test (ryanofsky)478- #9690 `a387d3a` Change 'Clear' button string to 'Reset' (da2x)479- #9592 `9c7b7cf` [Qt] Add checkbox in the GUI to opt-in to RBF when creating a transaction (ryanofsky)480- #10098 `2b477e6` Make qt wallet test compatible with qt4 (ryanofsky)481- #9890 `1fa4ae6` Add a button to open the config file in a text editor (ericshawlinux)482- #10156 `51833a1` Fix for issues with startup and multiple monitors on windows (AllanDoensen)483- #10177 `de01da7` Changed "Send" button default status from true to false (KibbledJiveElkZoo)484- #10221 `e96486c` Stop treating coinbase outputs differently in GUI: show them at 1conf (TheBlueMatt)485- #10231 `987a6c0` [Qt] Reduce a significant cs_main lock freeze (jonasschnelli)486- #10242 `f6f3b58` [qt] Don't call method on null WalletModel object (ryanofsky)487- #10093 `a3e756b` [Qt] Don't add arguments of sensitive command to console window (jonasschnelli)488- #10362 `95546c8` [GUI] Add OSX keystroke to RPCConsole info (spencerlievens)489- #9697 `962cd3f` [Qt] simple fee bumper with user verification (jonasschnelli)490- #10390 `e477516` [wallet] remove minimum total fee option (instagibbs)491- #10420 `4314544` Add Qt tests for wallet spends & bumpfee (ryanofsky)492- #10454 `c1c9a95` Fix broken q4 test build (ryanofsky)493- #10449 `64beb13` Overhaul Qt fee bumper (jonasschnelli)494- #10582 `7c72fb9` Pass in smart fee slider value to coin control dialog (morcos)495- #10673 `4c72cc3` [qt] Avoid potential null pointer dereference in TransactionView::exportClicked() (practicalswift)496- #10769 `8fdd23a` [Qt] replace fee slider with a Dropdown, extend conf. targets (jonasschnelli)497- #10870 `412b466` [Qt] Use wallet 0 in rpc console if running with multiple wallets (jonasschnelli)498- #10988 `a9dd111` qt: Increase BLOCK_CHAIN_SIZE constants (laanwj)499- #10644 `e292140` Slightly overhaul NSI pixmaps (jonasschnelli)500- #10660 `0c3542e` Allow to cancel the txdb upgrade via splashscreen keypress 'q' (jonasschnelli)
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.