code: func (b *BlockChain) BlockHashByHeight(blockHeight int32) (*chainhash.Hash, error) {
  	node := b.bestChain.NodeByHeight(blockHeight)
  	if node == nil {
  		str := fmt.Sprintf("no block at height %d exists", blockHeight)
  		return nil, errNotInMainChain(str)
  
  	}
  
  	return &node.hash, nil
  }
docs: // BlockHashByHeight returns the hash of the block at the given height in the
  // main chain.
  //
  // This function is safe for concurrent access.