def create_block(): block_header = block_pb2.BlockHeader(block_num=85, state_root_hash="0987654321fedcba", previous_block_id="0000000000000000") block = BlockWrapper( block_pb2.Block(header_signature="abcdef1234567890", header=block_header.SerializeToString())) return block
def _generate_genesis_block(): """ Returns a blocker wrapper with the basics of the block header in place """ genesis_header = block_pb2.BlockHeader( previous_block_id=NULL_BLOCK_IDENTIFIER, block_num=0) return BlockBuilder(genesis_header)
def _build_block(block_num, block_id, previous_block_id): header = block_pb2.BlockHeader( block_num=block_num, previous_block_id=previous_block_id) return block_pb2.Block( header_signature=block_id, header=header.SerializeToString())
def _generate_genesis_block(self): """ Returns a blocker wrapper with the basics of the block header in place """ genesis_header = block_pb2.BlockHeader( block_num=0, previous_block_id=NULL_BLOCK_IDENTIFIER, signer_pubkey=self._identity_public_key) return BlockBuilder(genesis_header)
def test_block_manager(self): block_a = _build_block(1, "A", NULL_BLOCK_IDENTIFIER) block_b = _build_block(2, "B", "A") block_c = _build_block(3, "C", "B") self.block_manager.put([block_a, block_b, block_c]) block_e = _build_block(5, "E", "D") with self.assertRaises(MissingPredecessor): self.block_manager.put([block_e]) block_d = _build_block(4, "D", "C") self.block_manager.put([block_d, block_e]) block_c2 = _build_block(3, "C2", "B") block_d2 = _build_block(4, "D2", "C2") block_e2 = _build_block(5, "E2", "D2") with self.assertRaises(MissingPredecessorInBranch): self.block_manager.put([block_c2, block_e2, block_d2]) block_id = "D" for block in self.block_manager.branch("D"): self.assertEqual(block.header_signature, block_id) header = block_pb2.BlockHeader() header.ParseFromString(block.header) block_id = header.previous_block_id self.block_manager.put([block_c2, block_d2, block_e2]) block_id = "D" for block in self.block_manager.branch_diff("D", "E2"): self.assertEqual(block.header_signature, block_id) header = block_pb2.BlockHeader() header.ParseFromString(block.header) block_id = header.previous_block_id for block in self.block_manager.get("C"): self.assertEqual(block.header_signature, "C")
def create_block(block_num=85, previous_block_id="0000000000000000", block_id="abcdef1234567890", batches=None): if batches is None: batches = [] block_header = block_pb2.BlockHeader(block_num=block_num, state_root_hash="0987654321fedcba", previous_block_id=previous_block_id) block = BlockWrapper( block_pb2.Block(header_signature=block_id, header=block_header.SerializeToString(), batches=batches)) return block