Skip to main content
Share Your Experience: Take the 2024 Developer Survey
19 votes
Accepted

Check status of daemon?

I found the easiest way to do this (version 0.12) is to issue the command (not case sensitive): bitcoin-cli getblockchaininfo Then, compare the blocks received field, to the headers field. The ...
Harry Pillsbury's user avatar
19 votes
Accepted

How does block synchronization work in Bitcoin Core today?

Since the introduction of headers-first synchronization in Bitcoin Core 0.10, the blockchain data structure can be seen as having three components: The block header tree: a tree data structure, with ...
Pieter Wuille's user avatar
15 votes
Accepted

Why is witness data downloaded during IBD in prune mode?

Why do pruned nodes download (segregated) witness data during IBD if much of that data is marked as Assumevalid? Good question, probably because nobody implemented it. Honestly, I had never ...
Pieter Wuille's user avatar
13 votes
Accepted

Blockchain synchronization is painfully slow / Best way to download blockchain

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 ...
Pieter Wuille's user avatar
12 votes

How to know if bitcoind synced?

bitcoind logs the current sync status to its debug.log file: $ tailf ~/.bitcoin/debug.log 2017-05-26 03:49:16 UpdateTip: new best=0000000000000001e0b7c8cffb8e7fa23909b8728913663decfaebffe24ca689 ...
dcoles's user avatar
  • 221
12 votes
Accepted

Sync with bitcoin-qt very slow (0,01%)

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, ...
12 votes
Accepted

Does assumevalid lower the security of Bitcoin?

which, as I understand it, makes some data (until 2017?) real without verification. You understand incorrectly. Firstly, the assumevalid blocks is updated at every major release, so it is at most a ...
Ava Chow's user avatar
  • 70.8k
11 votes

Check status of daemon?

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....
Herald Smit's user avatar
11 votes
Accepted

Bitcoin Core - Go back to a specific block?

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 ...
Ava Chow's user avatar
  • 70.8k
11 votes
Accepted

Is there a way to only sync up to a certain block?

bitcoind supports the argument -stopatheight, which takes the number of blocks to download before halting.
Claris's user avatar
  • 15.4k
10 votes
Accepted

Why is it bad to download the full chain from a third party with Bitcoin Core?

No, the chainstate is the nodes view of correctness. It would take many hours or days to re-verify the whole chain on most hardware, so an assumption is made that the state stored at the previous ...
Claris's user avatar
  • 15.4k
10 votes
Accepted

Skip IBD on pruned node?

Such a thing is not implemented in Bitcoin Core, though there is some work towards that (the "assumeutxo" project). What assumevalid does is just assume that all scripts/signatures in blocks ...
Pieter Wuille's user avatar
9 votes
Accepted

Bitcoin core wallet transactions and synchronisation

With Bitcoin Core you'll run a full node. So, for every transaction someone does to your business, your Bitcoin Core wallet need to be synchronized with the complete blockchain.
Klassare's user avatar
  • 316
8 votes

Can I retrieve my bitcoins from years ago that I never received?

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 ...
animal instinct's user avatar
8 votes
Accepted

Faking blockchain data in bitcoin-core

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 ...
Pieter Wuille's user avatar
8 votes
Accepted

How many peers do you need to securely synchronize with the blockchain?

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 ...
Murch's user avatar
  • 75.7k
8 votes
Accepted

Why is my sync slow even with a dbcache of 16000?

Although you've set a dbcache large enough to contain the entire UTXO set, at some point you've restarted. This means that the cache will begin empty and so UTXOs will need to be fetched from the ...
Ava Chow's user avatar
  • 70.8k
7 votes

Check status of daemon?

run bitcoind getinfo, compare the block count to the current block height of several major block explorers such as: https://blockchain.info/ https://www.blocktrail.com/BTC https://blockexplorer.com/...
Jane Miner's user avatar
7 votes

My Bitcoin Qt is behind 7 years and 32 weeks

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 ...
Greg Hewgill's user avatar
  • 3,421
7 votes
Accepted

How does headers-first prevent disk-fill attack?

To add to the other answer, since Bitcoin Core 24.0, there is an additional protection implemented against low-difficulty header spam: header pre-syncing. To recapitulate, since the headers-first ...
Pieter Wuille's user avatar
7 votes
Accepted

Can bitcoin core verify a third party blockchain download?

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 ...
Pieter Wuille's user avatar
7 votes

Does running a pruned node support the syncing of other nodes in the network?

does such a node support the syncing of other nodes in the network? Nodes that are pruned unset the NODE_NETWORK flag, which means that they don't advertise themselves as a potential source for block ...
Claris's user avatar
  • 15.4k
7 votes

How are funds verified?

How does a miner verify that the funds are available and not already spent without iterating through the entire Blockchain? Full nodes do iterate through the entire blockchain, but only once. As they ...
chytrik's user avatar
  • 18.3k
6 votes
Accepted

What can I do when the blockchain synchronization is stuck at a specific block?

I had this happen to me once. It was apparently caused by an incompatible peer node. Delete $HOME/.bitcoin/peers.dat Restart bitcoind Afterwards, new compatible peers will be found, and hopefully, ...
Ryan McGeary's user avatar
6 votes
Accepted

How to check if my node is fully sync'ed

Calling getblockchaininfo is your best bet. It includes a field called verificationprogress, which is an estimate of how much of the chain you have validated. Alternatively, compare headers to ...
Jestin's user avatar
  • 8,812
6 votes
Accepted

Changing prune size in working bitcoin daemon

The prune value merely sets the limit of how much block data is kept. If you increase the value and restart, no block data will be deleted for a while. New blocks will be received and validated and ...
Pieter Wuille's user avatar
6 votes
Accepted

what is the "Banlist" (Bitcoin Core)

It is a blacklist of erroneous nodes' IP addresses which has accrued a certain amount of banscore due to "misbehaviour". To check what sort of erroneous behaviour is considered "misbehaving", you can ...
rny's user avatar
  • 2,428
6 votes
Accepted

Is -blocknotify triggered during catch-up?

Yes, this is by design. The notify action is run in the function BlockNotifyCallback (init.cpp), and you can see: static void BlockNotifyCallback(bool initialSync, const CBlockIndex *pBlockIndex) { ...
Nate Eldredge's user avatar
6 votes
Accepted

What are the trust assumptions in --assumed-valid in bitcoin core 0.14?

Q1) What are the possible attacks (even though completely theoretical) which are possible in case 2 but not in case 1. Please elaborate security-model change required to shift from Case 1 to Case 2. ...
Ava Chow's user avatar
  • 70.8k
6 votes
Accepted

When and how does bitcoin node sync itself?

Always. When starting up, Bitcoin Core sends out a request to its peers to inform it about the best chains they know about (using a getheaders message). After that point, it is automatic: peers ...
Pieter Wuille's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible