def test_clams_fields(self): chainparams.set_to_preset('Clams') blk = Block.deserialize(clams_raw_block) self.assertEqual(clams_raw_block.encode('hex'), blk.as_hex()) self.assertEqual( '3045022100b4e1b24eff6f0c7945c1cabc2d37ac88df861fe37f9bc22ac3c8594bac58f6f9022044e8dfde90dc28d06ba17d5c2b9b3a65ad1cdc03c3e0f8f5655d1f5b9c8cfa0b', b2x(blk.blockSig))
def deserialize(self, raw): """Deserialize hex-encoded block/block header. Returns: Two-tuple of (block, block_header) """ raw = x(raw) try: if len(raw) == BlockHeader.header_length(): block_header = BlockHeader.deserialize(raw) return (None, block_header) else: # We don't use block.get_header() in case the header is # correct but the rest of the block isn't. block_header = BlockHeader.deserialize(raw[0:BlockHeader.header_length()]) block = Block.deserialize(raw) return (block, block_header) except Exception as e: return (None, None)
def deserialize(self, raw): """Deserialize hex-encoded block/block header. Returns: Two-tuple of (block, block_header) """ raw = x(raw) try: if len(raw) == BlockHeader.header_length(): block_header = BlockHeader.deserialize(raw) return (None, block_header) else: # We don't use block.get_header() in case the header is # correct but the rest of the block isn't. block_header = BlockHeader.deserialize( raw[0:BlockHeader.header_length()]) block = Block.deserialize(raw) return (block, block_header) except Exception as e: return (None, None)
def test_serialize_as_hex(self): blk = Block.deserialize(bitcoin_raw_block) self.assertEqual(bitcoin_raw_block.encode('hex'), blk.as_hex())
def test_get_header(self): blk = Block.deserialize(bitcoin_raw_block) header = blk.get_header() self.assertEqual(bitcoin_raw_header, header.serialize())
def is_raw_block(x): try: b = Block.deserialize(x.decode('hex')) return True except Exception: return False
def copy_blockhash(rawblock): blockhash = b2lx(Block.deserialize(x(rawblock)).GetHash()) QApplication.clipboard().setText(blockhash)
def coerce_block(v): return Block.from_block(v)
def coerce_hex_string(v): return Block.deserialize(x(v))
def coerce_string(v): return Block.deserialize(v)
def test_clams_fields(self): chainparams.set_to_preset('Clams') blk = Block.deserialize(clams_raw_block) self.assertEqual(clams_raw_block.encode('hex'), blk.as_hex()) self.assertEqual('3045022100b4e1b24eff6f0c7945c1cabc2d37ac88df861fe37f9bc22ac3c8594bac58f6f9022044e8dfde90dc28d06ba17d5c2b9b3a65ad1cdc03c3e0f8f5655d1f5b9c8cfa0b', b2x(blk.blockSig))