def test_sealing_linked_block_sets_hashes_correctly(self): block1 = Block() block1.messages = self.get_messages("first", "second", "third") block1.seal() block2 = Block() block2.messages = self.get_messages("fourth", "fifth") block2.link(block1) block2.seal() self.assertEqual(self.block_hash(block2), block2.hash) self.assertEqual(block2.prev_hash, block1.hash)
from blockchain import Message, Block, Blockchain import pickle B1 = Block() B1.add_message(Message("This is the 1st message")) B1.add_message(Message("2nd message", "Alice", "Bob")) B1.add_message(Message("3rd message", "Bob", "Alice")) B1.seal() B2 = Block() B2.add_message(Message("4th message")) B2.add_message(Message("5th message", "Eve", "Steve")) B2.seal() B3 = Block() B3.add_message(Message("6th message")) B3.add_message(Message("7th message", "Me", "Everyone")) B3.seal() chain = Blockchain() chain.add_block(B1) chain.add_block(B2) chain.add_block(B3) print("Validating blockchain...") chain.validate() print("Serializing...") pickle.dump(chain, open('chain.p', 'wb')) print("Deserializing and validating...")
from blockchain import Message, Block, Blockchain import pickle B1 = Block() B1.add_message(Message("This is the first message")) B1.add_message(Message("Second message", "Alice", "Bob")) B1.add_message(Message("Third message", "Bob", "Alice")) B1.seal() B2 = Block() B2.add_message(Message("Fourth message")) B2.add_message(Message("Fifth message", "Eve", "Steve")) B2.seal() B3 = Block() B3.add_message(Message("Sixth message")) B3.add_message(Message("Seventh Son of a Seventh Son is Iron Maiden's best album", "Me", "Everyone")) B3.seal() B4 = Block() B4.add_message(Message("Eighth message", "Bob", "Charlie")) B4.add_message(Message("Ninth message", "Charlie", "Daniels")) B4.add_message(Message("Tenth message", "Charlie", "Brown")) chain = Blockchain() chain.add_block(B1) chain.add_block(B2) chain.add_block(B3) chain.add_block(B4) print("Validating blockchain...")
def test_sealing_unlinked_block_sets_hashes_correctly(self): block = Block() block.messages = self.get_messages("first", "second") block.seal() self.assertEqual(self.block_hash(block), block.hash)