Very little of the time is spent downloading the blockchain data compared to how much time your computer is spending verifying each transaction. Bitcoin does a ton of disk i/o for this.
As there are more transactions since April (thanks to SatoshiDICE, we now see 40K and more transactions a day) those blocks take longer to verify.
If you are on an ...
Okay, combining answers and what more I've observed:
The rate of blocks slows down because more recent blocks are larger. The number of blocks remaining is not actually a good measure for estimated time.
You can make an estimate based on how much data is downloaded (in how much time) and how much data is left: At the moment of writing, my blk000x.dat files ...
I found the easiest way to do this (version 0.12) is to issue the command (not case sensitive):
Then, compare the blocks received field, to the headers field. The blocks received should increase steadily until it matches the headers field, at which point the client is synced.
Once the client is synced you can check if the ...
New blocks are continuously being created (about once every 10 minutes).
So if you don't leave your client continuously connected, or when you're connecting for the first time, then when you do connect it will be out of sync and need to download and verify new blocks.
There are SPV (Simplified Payment Verification) clients (e.g., MultiBit and Bitcoin ...
To download the blockchain with maximal speed you want to be connected to nodes with high bandwidth.
On default bitcoin will search and connect to random nodes. One can add nodes to bitcoin conf to tell bitcoin to connect to specific nodes.
To add a node to the bitcoin client to connect to, add the following to the bitcoin.conf file in:
You can compare the block count from Blockexplorer with your local block count. Something like this:
$ wget -q -O- https://blockexplorer.com/q/getblockcount; echo
$ bitcoin-cli -conf=/u0/bitcoin/bitcoin.conf getblockcount
As you can see above my node is synched since the counter is equal.
What usually takes time is the validation of the transactions in the blockchain, not downloading it. Bitcoin Core implements a fully validating node, which does not trust any of the information other peers give it. The only way to accomplish that is by validating everything itself.
30 hours sounds painfully long though. If you have memory to spare on your ...
Bitcoin Core contains a tool to do this properly (filtering out any orphan blocks, putting everything in the correct order — which will work a lot better than just concatenating the block files. It's documented in its own README, here: https://github.com/bitcoin/bitcoin/tree/master/contrib/linearize
Launch Bitcoin with an rpcuser and rpcpassword ...
Bitcoin Core maintains two databases:
The block index
The chain state (or UTXO set)
The first one just contains a list of all blocks we know about, valid and invalid. It contains all forks we have ever heard about, and all branches that result from it. It also contains information about where on disk these are stored. It does however not contain any ...
You can't delete the block data themselves, but you can reset the blockchain state to a specific block by using the invalidateblock command. This command will mark a specific block and its descendants as invalid thus setting the chainstate to the block immediately before it. Note that this may not necessarily work to switch to a blockchain fork and may still ...
I can help!
Your money is "yours", it just isn't being listed in your wallet because as you say, your wallet is having trouble updating... That's OK! You can access it in other ways, such as an online e-wallet:
First, we need to get your "private key":
Close bitcoin completely, then
Open control panel, select "large icons" in the top right corner
There are probably several reasons, but it's mostly historic. There is no inherent problem with just sending transaction id's. There is a disadvantage too, though, namely increased latency, which is not necessarily a problem when doing an initial sync, but it is not wanted when a fresh new block is propagating.
In fact, this idea is part of BIP 37, which ...
You probably don't want to download the blockchain
The blockchain currently weighs in at about 144 GB (check current size)
Assuming you have solid 2 megabytes per second download speed, it would take around 20 hours just to download them.
In practice, this takes much longer, as your computer will verify every block individually, which takes some time.
Yes. You can just stop bitcoind (using bitcoin-cli stop, or just killing it with SIGINT). Next time invoke it without -reindex, and it will continue from where it left off. If you do pass -reindex again, it will start over.
Bitcoin Core sync very slow
Bitcoin Core is capable of full sync in a relatively short period of time depending mainly on the hardware.
Most of the work done is not actually downloading the blocks, it is validating them and every transaction that they contain. It not only depends on downloading the blocks but also on the quantity and complexity of every ...
"Bitcoin-Qt/bitcoind version 0.7.1 and later supports a special import feature: If the file "bootstrap.dat" is found in the bitcoin data directory, it will validate and import all blockchain data found in that file."
The official torrent can be found at: http://sourceforge.net/projects/bitcoin/files/Bitcoin/blockchain/
Magnetic link: magnet:?xt=urn:btih:...
One solution is to export (in your privacy) the private key connected to the address on which you received your Bitcoins (or simply all private keys). This can be done using a command line tool known as pywallet.
Then, you can import this key (or all your keys) into another wallet. Browser-based wallets such as https://blockchain.info/wallet do not require ...
If you still have the wallet.dat file and your password you can access your bitcoins. You do not have to use Bitcoin-Qt 7 and it does not matter if your wallet ever synced before. If the sender sent the bitcoins to an address you control and the transaction was confirmed, the bitcoin are yours.
If you want to ...
Let's say I found a tarball with blockchain data files which I load to my datadir and start my Bitcoin Core client, what sort of attacks am I vulnerable to? Could the files contain fake balances?
It depends. If you're just importing blocks (so no chainstate/ subdirectory with UTXO set), there should not be any possible attack. The client will validate those ...
One! Your full node will check every transaction and every block for validity while synchronizing. You therefore can be sure that whatever blockchain data your node accepts follows all rules of Bitcoin. If you are provided the correct blockchain, a single node will be able to provide all data for you to catch up with the network's blockchain tip.
That said, ...
The Bitcoin.org client v0.7 and lower will continuously increase in size about once every ten minutes, on average.
Blockchain.info provides a chart showing the size of the data (actual disk consumption will be slightly larger even.)
The Bitcoin.org client v0.8, being developed now, dramatically changes how it stores and accesses data that will reduce the ...
You can also just tail the debug.log file in a new terminal window while bitcoind is running. It shows current block height i.e. height=181888 and percentage of download complete i.e. progress=68.189662 and keeps running in the window, so you see the progress.
tail -f ~/.bitcoin/debug.log
tail -f $HOME/Library/Application\ Support/Bitcoin/...
If you shut down your PC and then restart, the Bitcoin sync will pick up where it left off.
The latest transaction your Bitcoin currently knows about is 7 years old, but it won't take 7 years to catch up. It should be all caught up in a matter of days.
You will need a lot of storage for Bitcoin Qt. The current size of the blockchain is over 80 GB, and ...
If you give Bitcoin Core a fully populated data directory, it will use it without any validation.
However, if you only give it the blocks/ subdirectory, it will fully validate it to recreate the chainstate directory, exactly as if it were received over the network.
Yes, it's normal for the rate of blocks being received to decrease as the download progresses.
The reason it slows down is because there were very few transactions in each block in the early days of Bitcoin, so the blocks were smaller. Later blocks are bigger.
The Satoshi Bitcoin Client is still a Beta version, and even if it wasn't it may still need to ...
It's most likely you're using the client from bitcoin.org.
Synchronizing with the network refers to the download and verification of the blocks in the block chain, which is the transaction history of Bitcoin. The block chain is the record of who spent what and when they spent it, and who owns what now.
Currently, the bitcoin.org client downloads the entire ...
Pass -dbcache=N as a command line option. N is a number in megabytes, and setting it higher significantly improves verification speed. The default is 450, but up to 6000 or so you can notice improvements.
This is superior to using a RAM drive.