I ran 6 or 7 bitcoinds with version 0.93 on CentOs. I used the default configuration on all of them. Sometimes I found one or two fell behind the others. And I need restart them, then they would work. I don't where is wrong, or there is some problem on the 0.93 version. Do I need update to the 0.10 version? When will the official 0.10 release. Thank you very much.
1 Answer
"Is there a problem with 0.9.3 that causes it to fall behind? That's a serious problem for the network, but I haven't heard anyone else report it. If you debug it and discover that it's Bitcoin Core's fault, please report it. However, here are a few common reasons for problems:
Insufficient resources: if you're running Bitcoin Core on an underpowered VPS, Raspberry Pi, or other marginal hardware, you'll get all sorts of strange problems. I recommend a minimum of 1 gigabyte memory for a full node.
Hardware problems: bad memory, failing disks, and especially CPU overheating issues can cause your node to stop working or fail validation of a block.
Suspend/Hibernate issues: when restoring from suspend/hibernate on Linux, my nodes sometimes take a long time to reestablish connections and start downloading blocks, meaning my node looks like it has fallen behind for awhile.
Clock issues: if the clock on a computer falls behind real time by more than about 2 hours, it may not accept the most recent blocks.
"Do I need to update to 0.10.0?" Right now 0.10.0 is in the Release Candidate (RC) phase, which is the last testing phase. If you'd like to help test, feel free to upgrade. But if you're relying on Bitcoin Core behaving correctly, staying on most recent released version (0.9.3) is advised.
"When will 0.10.0 be released? When the developers think it has been well tested, and not a minute earlier. I know major software companies often release software on a set schedule, but they do it by holding back (hopefully) release-quality software. Open source doesn't work that way---everyone can see the source code, so you either release when it's ready or someone else releases it for you. :-)
Debugging Tips
I highly recommend that you try to find out what causes your nodes to behave incorrectly or you're likely to have the same problem on 0.10.0 that you have on 0.9.3. Here are some quick tips:
Check
$HOME/.bitcoin/debug.log
for any warnings or errors. If you can't figure out any messages using a web search, feel free to ask here.Start bitcoind with
-debug
to log additional information. Note, this will make your log file grow in size faster than normal, and it will inhibit shrinking the logfile on startup for as long as you use it.If you only rarely check your nodes, scanning the whole log might be hard. I suggest starting at the time indicated in the header of the old block you're stuck on. For example, if you're stuck on block 330,000,
run
bitcoin-cli getblockhash 3330000
to get the block's header hash;run
bitcoin-cli getblock <hash>
to get the block. Note thetime
fieldrun
date -ud @<time>
to convert the time into human readable UTC, the same as used in debug.log.
Use
bitcoin-cli
to run RPCs in an every-minute cron job to log additional information. An example cron job might be,* * * * * { date -u ; bitcoin-cli getnetworkinfo ; } >> getnetworkinfo.log
-
Hi David, I forgot one point. The nodes provide RPC request service, probably one time RPC request per second. I set the rpc threads number 20. Is there something wrong? The debug log seems correct. Thank you very much.– ElevenCommented Jan 13, 2015 at 12:18
-
As long as the computer you're using has an appropriate amount of resources, setting RPC threads to 20 and handling 1 request per second should not interfere with block downloading. Commented Jan 13, 2015 at 15:58