docs: def block_header_verify( cls, headers_path, block_id, block_hash, block_header ):
          """
          Given the block's numeric ID, its hash, and the bitcoind-returned block_data,
          use the SPV header chain to verify the block's integrity.
  
          block_header must be a dict with the following structure:
          * version: protocol version (int)
          * prevhash: previous block hash (hex str)
          * merkleroot: block Merkle root (hex str)
          * timestamp: UNIX time stamp (int)
          * bits: difficulty bits (hex str)
          * nonce: PoW nonce (int)
          * hash: block hash (hex str)
          (i.e. the format that the reference bitcoind returns via JSON RPC)
  
          Return True on success
          Return False on error
          """
          prev_header = cls.read_header( headers_path, block_id - 1 )
          prev_hash = prev_header['hash']
          return bits.block_header_verify( block_header, prev_hash, block_hash )