def test_delete(self): with set_qrl_dir('no_data'): with State() as state: block = Block() state.put_block(block, None) block1 = state.get_block(block.headerhash) self.assertEqual(block.to_json(), block1.to_json()) state.delete(block.headerhash, None) self.assertIsNone(state.get_block(block.headerhash))
def broadcast_block(self, block: Block): # logger.info('<<<Transmitting block: ', block.headerhash) data = qrl_pb2.MR() data.stake_selector = block.transactions[0].addr_from data.block_number = block.block_number data.prev_headerhash = bytes(block.prev_headerhash) if block.block_number > 1: data.reveal_hash = block.reveal_hash self.register_and_broadcast('BK', block.headerhash, block.to_json(), data)
def put_block(self, block: Block, batch): self._db.put_raw( bin2hstr(block.headerhash).encode(), block.to_json().encode(), batch)