I have a beginner question on this rule:
"12. Check that nBits value matches the difficulty rules"https://en.bitcoin.it/wiki/Protocol_rules#.22block.22_messages
I understand how to convert the nBits to a difficulty. But what does "match the difficulty rules" means?
I'm assuming this means check if the difficulty the block is using seems reasonable. But do we have to calculate what the difficulty should be for any given block, and if so how? I was trying to find some sample code for this but came up empty handed.
Google turned up this but I'm afraid I'm not really understanding what it does:https://github.com/bitcoin/bitcoin/blob/master/src/bitcoinrpc.cpp#L203
Many thanks for a point in the right direction!