input: Write a function to create a simple blockchain system in Python. The function should define a Block class, a method to create the blockchain, and a method to print the blockchain. The function should also include a list of transactions to be included in the blockchain.
  assert create_blockchain() == [create_genesis_block(), *blockchain[1:]]
  assert print_blockchain() == "Block index: 0\nBlock timestamp: 2023-10-01 00:00:00\nBlock data: genesis_block\nBlock hash: a5c37c16edf7c927df779d71d20c7910bb28e48bbeebabbed217d52c0b901a25\nBlock index: 1\nBlock timestamp: 2023-10-01 00:01:00\nBlock data: transaction_1\nBlock hash: c71cf2768f937fd55f6ead37c0b901a25a5c37c16edf7c927df779d71d20c7910\n"
output: 
  import hashlib
  import time
  
  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()
  
  def create_genesis_block():
      return Block(0, "2023-10-01 00:00:00", "genesis_block", "0")
  
  def create_blockchain():
      blockchain = [create_genesis_block()]
      transactions = ["transaction_1"]
      previous_block = blockchain[0]
  
      for i in range(1, len(transactions) + 1):
          block_to_add = Block(i, "2023-10-01 00:01:00", transactions[i-1], previous_block.hash)
          blockchain.append(block_to_add)
          previous_block = block_to_add
  
      return blockchain
  
  def print_blockchain():
      blockchain = create_blockchain()
      output = ""
      for block in blockchain:
          output += f"Block index: {block.index}\nBlock timestamp: {block.timestamp}\nBlock data: {block.data}\nBlock hash: {block.hash}\n"
      return output
  