def create_block(self, data): last_block = self.handler.blockchain.get_last_blocks() block = Block(last_block[0].index + 1, data, last_block[0].hash, datetime.now(), str(self.handler.server_host)) block.mine(number_0=self.handler.blockchain.number_0) message = "****" message += "mined_block|" message += json.dumps(block, cls=BlockEncoder) self.handler.blockchain.new_block(block) self.handler.send_message_to_all(message) message_dict = {"sender": "Me", "content": message} self.handler.message_list.append(message_dict)
def create_block(self): """ Create a block from what is typed in the GUI, mine it and send it """ data = self.dataText.toPlainText() last_block = self.handler.blockchain.get_last_blocks() block = Block(last_block[0].index + 1, data, last_block[0].hash, datetime.now(), str(self.handler.server_host)) block.mine(number_0=self.handler.blockchain.number_0) message = "****" message += "mined_block|" message += json.dumps(block, cls=BlockEncoder) self.handler.blockchain.new_block(block) self.handler.send_message_to_all(message) message_dict = {"sender": "Me", "content": message} self.handler.message_list.append(message_dict)
class test_block(unittest.TestCase): def setUp(self): self.sample_block = Block('0x123fff', 123123123, 'my_doc') def test_mine_hash_val_less_than_target(self): # arrange difficulty = 3 # act hash_val = self.sample_block.mine(difficulty) # assert assert hash_val < 2**(257 - difficulty) - 1
def addBlock(self, data): previousBlock = self.blocks[-1] block = Block.mine(previousBlock, data) self.blocks.append(block) return block