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.
1Bitcoin-Qt version 0.8.0 is now available from:2http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.0/4This is a major release designed to improve performance and handle the5increasing volume of transactions on the network.7Please report bugs using the issue tracker at github:8https://github.com/bitcoin/bitcoin/issues10How to Upgrade11--------------13If you are running an older version, shut it down. Wait14until it has completely shut down (which might take a few minutes for older15versions), then run the installer (on Windows) or just copy over16/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).18The first time you run after the upgrade a re-indexing process will be19started that will take anywhere from 30 minutes to several hours,20depending on the speed of your machine.22Incompatible Changes23--------------------25This release no longer maintains a full index of historical transaction ids26by default, so looking up an arbitrary transaction using the getrawtransaction27RPC call will not work. If you need that functionality, you must run once28with -txindex=1 -reindex=1 to rebuild block-chain indices (see below for more29details).31Improvements32------------34Mac and Windows binaries are signed with certificates owned by the Bitcoin35Foundation, to be compatible with the new security features in OSX 10.8 and36Windows 8.38LevelDB, a fast, open-source, non-relational database from Google, is39now used to store transaction and block indices. LevelDB works much better40on machines with slow I/O and is faster in general. Berkeley DB is now only41used for the wallet.dat file (public and private wallet keys and transactions42relevant to you).44Pieter Wuille implemented many optimizations to the way transactions are45verified, so a running, synchronized node uses less working memory and does46much less I/O. He also implemented parallel signature checking, so if you47have a multi-CPU machine all CPUs will be used to verify transactions.49New Features50------------52"Bloom filter" support in the network protocol for sending only relevant transactions to53lightweight clients.55contrib/verifysfbinaries is a shell-script to verify that the binary downloads56at sourceforge have not been tampered with. If you are able, you can help make57everybody's downloads more secure by running this occasionally to check PGP58signatures against download file checksums.60contrib/spendfrom is a python-language command-line utility that demonstrates61how to use the "raw transactions" JSON-RPC api to send coins received from particular62addresses (also known as "coin control").64New/changed settings (command-line or bitcoin.conf file)65--------------------------------------------------------67dbcache : controls LevelDB memory usage.69par : controls how many threads to use to validate transactions. Defaults to the number70of CPUs on your machine, use -par=1 to limit to a single CPU.72txindex : maintains an extra index of old, spent transaction ids so they will be found73by the getrawtransaction JSON-RPC method.75reindex : rebuild block and transaction indices from the downloaded block data.77New JSON-RPC API Features78-------------------------80lockunspent / listlockunspent allow locking transaction outputs for a period of time so81they will not be spent by other processes that might be accessing the same wallet.83addnode / getaddednodeinfo methods, to connect to specific peers without restarting.85importprivkey now takes an optional boolean parameter (default true) to control whether86or not to rescan the blockchain for transactions after importing a new private key.88Important Bug Fixes89-------------------91Privacy leak: the position of the "change" output in most transactions was not being92properly randomized, making network analysis of the transaction graph to identify93users' wallets easier.95Zero-confirmation transaction vulnerability: accepting zero-confirmation transactions96(transactions that have not yet been included in a block) from somebody you do not97trust is still not recommended, because there will always be ways for attackers to98double-spend zero-confirmation transactions. However, this release includes a bug99fix that makes it a little bit more difficult for attackers to double-spend a100certain type ("lockTime in the future") of zero-confirmation transaction.102Dependency Changes103------------------105Qt 4.8.3 (compiling against older versions of Qt 4 should continue to work)108Thanks to everybody who contributed to this release:109----------------------------------------------------111Alexander Kjeldaas112Andrey Alekseenko113Arnav Singh114Christian von Roques115Eric Lombrozo116Forrest Voight117Gavin Andresen118Gregory Maxwell119Jeff Garzik120Luke Dashjr121Matt Corallo122Mike Cassano123Mike Hearn124Peter Todd125Philip Kaufmann126Pieter Wuille127Richard Schwab128Robert Backhaus129Rune K. Svendsen130Sergio Demian Lerner131Wladimir J. van der Laan132burger2133default134fanquake135grimd34th136justmoon137redshark1802138tucenaber139xanatos
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.