示例#1
0
    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)
示例#2
0
文件: example.py 项目: parth1634/bl6
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...")
示例#3
0
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...")
示例#4
0
 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)