input: 
  def create_blockchain():
      """
      This function builds a simple blockchain system in Python. 
      It first creates a genesis block and then iteratively adds blocks to the blockchain based on a list of transactions.
      Finally, it prints out the blockchain.
      
      Example:
      blockchain_transactions = [
          {"sender": "Alice", "receiver": "Bob", "amount": 10},
          {"sender": "Bob", "receiver": "Charlie", "amount": 5},
          {"sender": "Charlie", "receiver": "Alice", "amount": 2}
      ]
      create_blockchain()
      print_blockchain()
      # Output:
      # Block 0: Timestamp - <timestamp>, Data - Genesis Block, Hash - <hash>
      # Block 1: Timestamp - <timestamp>, Data - {'sender': 'Alice', 'receiver': 'Bob', 'amount': 10}, Hash - <hash>
      # Block 2: Timestamp - <timestamp>, Data - {'sender': 'Bob', 'receiver': 'Charlie', 'amount': 5}, Hash - <hash>
      # Block 3: Timestamp - <timestamp>, Data - {'sender': 'Charlie', 'receiver': 'Alice', 'amount': 2}, Hash - <hash>
      """
      pass
  
output:     
      import time
      import hashlib
  
      class Block:
          def __init__(self, index, previous_hash, timestamp, data, hash):
              self.index = index
              self.previous_hash = previous_hash
              self.timestamp = timestamp
              self.data = data
              self.hash = hash
  
      def calculate_hash(index, previous_hash, timestamp, data):
          value = str(index) + previous_hash + str(timestamp) + str(data)
          return hashlib.sha256(value.encode()).hexdigest()
  
      def create_genesis_block():
          return Block(0, "0", time.time(), "Genesis Block", calculate_hash(0, "0", time.time(), "Genesis Block"))
  
      blockchain = [create_genesis_block()]
      blockchain_transactions = [
          {"sender": "Alice", "receiver": "Bob", "amount": 10},
          {"sender": "Bob", "receiver": "Charlie", "amount": 5},
          {"sender": "Charlie", "receiver": "Alice", "amount": 2}
      ]
  
      def add_block(data):
          previous_block = blockchain[-1]
          index = previous_block.index + 1
          timestamp = time.time()
          hash = calculate_hash(index, previous_block.hash, timestamp, data)
          new_block = Block(index, previous_block.hash, timestamp, data, hash)
          blockchain.append(new_block)
  
      for transaction in blockchain_transactions:
          add_block(transaction)
  
      def print_blockchain():
          for block in blockchain:
              print(f"Block {block.index}: Timestamp - {block.timestamp}, Data - {block.data}, Hash - {block.hash}")
  
      print_blockchain()
  