def test_block_confirm(self): db_name = 'block_confirm_db' test_db = test_util.make_level_db(db_name) self.assertIsNotNone(test_db, "DB생성 불가") chain = BlockChain(test_db) # block을 하나 생성해서 unconfirm 상태에서 추가 unconfirm_block = self.generate_test_block() unconfirm_block.generate_block(chain.last_block) self.assertTrue(chain.add_unconfirm_block(unconfirm_block), "미검증블럭 추가에 실패하였습니다.") # 블럭 검증작업후 블럭을 검증완료 상태로 바꾸며, 블럭체인에 등록 해 줍니다. chain.confirm_block(unconfirm_block.block_hash) # 블럭 검증완료 self.assertEqual(chain.last_block.block_hash, unconfirm_block.block_hash, "블럭이 추가되지 않았습니다.") leveldb.DestroyDB(db_name)
def test_block_confirm(self): store_identity = 'block_confirm_db' chain = BlockChain(self.channel_name, store_id=store_identity) self.assertIsNotNone(chain.get_blockchain_store(), "impossible create DB") block = test_util.add_genesis_block() chain.add_block(block) self.last_block = block # block을 하나 생성해서 unconfirm 상태에서 추가 unconfirm_block = self.generate_test_block() unconfirm_block.generate_block(chain.last_block) self.assertTrue(chain.add_unconfirm_block(unconfirm_block), "미검증블럭 추가에 실패하였습니다.") # 블럭 검증작업후 블럭을 검증완료 상태로 바꾸며, 블럭체인에 등록 해 줍니다. chain.confirm_prev_block(unconfirm_block) # 블럭 검증완료 self.assertEqual(chain.last_block.block_hash, unconfirm_block.block_hash, "블럭이 추가되지 않았습니다.") chain.close_blockchain_store()