コード例 #1
0
def test_for_mining_block():
    last_block = Block.genesis_block_generator()
    data = 'test-data'
    block = Block.mine_the_block(last_block, data)

    assert isinstance(block, Block)
    assert block.data == data
    assert block.last_hash == last_block.hash
    assert convert_hex_to_binary(block.hash)[0:block.difficulty] == '0' * block.difficulty
コード例 #2
0
def test_for_mined_block_diffuculty_limit_at_1():
    last_block = Block(
        time.time_ns(),
        'test_last_hash',
        'test_hash',
        'test_data',
        1,
        0
    )

    time.sleep(MINE_RATE / SECS)
    mined_block = Block.mine_the_block(last_block, 'bar')

    assert mined_block.difficulty == 1
コード例 #3
0
def block(last_block):
    return Block.mine_the_block(last_block, 'test_data')
コード例 #4
0
def test_for_slowly_mined_blocks():
    last_block = Block.mine_the_block(Block.genesis_block_generator(), 'foo')
    time.sleep(MINE_RATE / SECS)
    mined_block = Block.mine_the_block(last_block, 'bar')

    assert mined_block.difficulty == last_block.difficulty - 1
コード例 #5
0
def test_for_quickly_mined_blocks():
    last_block = Block.mine_the_block(Block.genesis_block_generator(), 'foo')
    mined_block = Block.mine_the_block(last_block, 'bar')

    assert mined_block.difficulty == last_block.difficulty + 1
コード例 #6
0
ファイル: blockchain.py プロジェクト: snwahome/Final-project
 def add_block(self, data):
     self.chain.append(Block.mine_the_block(self.chain[-1], data))