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)
Esempio n. 3
0
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
Esempio n. 4
0
 def addBlock(self, data):
     previousBlock = self.blocks[-1]
     block = Block.mine(previousBlock, data)
     self.blocks.append(block)
     return block