With the recent hard-fork, I was wondering about the difference between block height and block number? E.g. I am fairly sure the genesis block is block number 0. After that block, but before the next one, was the block height 1?
And a follow-up question: When querying
monerod, how should one interpret the "block height" value returned? I am asking because if you search for that block height in e.g. http://explore.moneroworld.com/, it can't show it because it's "higher than the current blockchain height". I think they actually mean you can search for "block number", but their search field mentions says "block height" …
The block height refers to the most recent block that has been mined. The block number refers to any block up until and including the current block height.
Blockchain exploring sites are generally slightly behind on listing the most current block height. When you use the
status argument, the first values returned are [currently synced block]/[current block height]. The block height shown in moderod is likely to be higher than the one listed on a blockchain exploring website. I believe they rely on more confirmations before committing it to the list.
The blockchain is viewed as a typical C array. It is an ordered collection of blocks of size N, containing blocks with indices 0 to N-1 (for example, a blockchain of size 2 contains blocks 0 and 1).
The term "height" is used to indicate the "distance" from the origin (the genesis block) as well as the size of the blockchain. So the height of the blockchain is the number of blocks in that blockchain, and the height of a block is its distance to the genesis block. In the 2 block blockchain example above, the blockchain height is 2, and the two blocks have heights 0 and 1.
bc_height gives you the blockchain height, so valid block heights range from 0 to one short of that value.
Block "number" is not a commonly used term, and I assume it's used as a synonym for block height.