input: 
  from typing import List
  
  def create_blockchain(blockchain_transactions: List[dict]) -> List[Block]:
      """Create a simple blockchain system by linking blocks through hashes.
      >>> blockchain = create_blockchain([{"sender": "Alice", "receiver": "Bob", "amount": 5}, {"sender": "Bob", "receiver": "Charlie", "amount": 10}])
      >>> print_blockchain(blockchain)
      Block 0 [1633029600.0]: {'sender': 'Genesis', 'receiver': 'Genesis', 'amount': 0} - hash: 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
      Block 1 [1633029660.0]: {'sender': 'Alice', 'receiver': 'Bob', 'amount': 5} - hash: cbd9ce25072b7a8c6aeb85cd41ce0ba347ae5b396a75ce2bde1cc36b956a3d0b
      Block 2 [1633029720.0]: {'sender': 'Bob', 'receiver': 'Charlie', 'amount': 10} - hash: af9c2f69fc82b7d9ffdd59fc7d4b6d91ddce1abb73864e90ec9677b159be980a
      """
      # The rest of the implementation would follow here
  
output:     class Block:
          def __init__(self, index, timestamp, data, previous_hash):
              self.index = index
              self.timestamp = timestamp
              self.data = data
              self.previous_hash = previous_hash
              self.hash = self.calculate_hash()
  
          def calculate_hash(self):
              block_string = f"{self.index}{self.timestamp}{self.data}{self.previous_hash}"
              return hashlib.sha256(block_string.encode()).hexdigest()
  
      blockchain = []
      genesis_block = Block(0, 1633029600.0, {"sender": "Genesis", "receiver": "Genesis", "amount": 0}, "0")
      blockchain.append(genesis_block)
  
      for i, transaction in enumerate(blockchain_transactions):
          new_block = Block(i + 1, 1633029600.0 + 60.0 * (i + 1), transaction, blockchain[-1].hash)
          blockchain.append(new_block)
  
      return blockchain