input: Write a function named `create_blockchain` that builds a simple blockchain system in Python. The function should take a list of transactions as input and should create a list of blocks, where each block contains an index, a timestamp, data, and the hash of the previous block. The function should also print the blockchain once it is created. If there are no transactions, the function should still create a blockchain starting with a genesis block.
  assert create_blockchain([])==[create_genesis_block()]
  assert create_blockchain([{"sender": "Alice", "receiver": "Bob", "amount": 100}])==[create_genesis_block(), next_block(create_genesis_block(), {"sender": "Alice", "receiver": "Bob", "amount": 100})]
  assert create_blockchain([{"sender": "Alice", "receiver": "Bob", "amount": 100}, {"sender": "Bob", "receiver": "Charlie", "amount": 50}])==[create_genesis_block(), next_block(create_genesis_block(), {"sender": "Alice", "receiver": "Bob", "amount": 100}), next_block(next_block(create_genesis_block(), {"sender": "Alice", "receiver": "Bob", "amount": 100}), {"sender": "Bob", "receiver": "Charlie", "amount": 50})]
output: def create_blockchain(transactions):
      def create_genesis_block():
          return {"index": 0, "timestamp": time.time(), "data": "Genesis Block", "previous_hash": "0"}
      
      def next_block(last_block, data):
          return {"index": last_block["index"] + 1, "timestamp": time.time(), "data": data, "previous_hash": last_block["previous_hash"]}
      
      blockchain = [create_genesis_block()]
      
      if transactions:
          for i, transaction in enumerate(transactions):
              blockchain.append(next_block(blockchain[-1], transaction))
      
      print(blockchain)
      return blockchain