input: 
  from typing import List, Dict, Any
  
  
  def create_blockchain_system(data: List[Dict[str, Any]]) -> str:
      """ Given a list of data blocks, create a blockchain system and return the 
      blockchain in JSON format. Each block in the data list should contain 
      keys 'timestamp' and 'data'. The function will use the Block and 
      Blockchain classes to construct the blockchain and return it in a serialized 
      JSON string.
      
      >>> create_blockchain_system([{'timestamp': '2023-01-01', 'data': 'First block'}])
      '[
        {
          "index": 0,
          "timestamp": "2023-01-01",
          "data": "First block",
          "previous_hash": null,
          "hash": "0e679351d81c333a5a2b13a6bfe827affb64730ec1d2ea88ae42e5e2b380d7c5"
        }
      ]'
      """
  
output:     
      from hashlib import sha256
      import json
  
      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 = json.dumps(self.__dict__, sort_keys=True).encode()
              return sha256(block_string).hexdigest()
  
      class Blockchain:
          def __init__(self):
              self.chain = [self.create_genesis_block()]
  
          def create_genesis_block(self):
              return Block(0, "2023-01-01", "Genesis Block", "0")
  
          def get_latest_block(self):
              return self.chain[-1]
  
          def add_block(self, new_block):
              new_block.previous_hash = self.get_latest_block().hash
              new_block.hash = new_block.calculate_hash()
              self.chain.append(new_block)
  
      blockchain = Blockchain()
      for index, block_data in enumerate(data):
          blockchain.add_block(Block(index + 1, block_data['timestamp'], block_data['data'], ""))
  
      blockchain_json = json.dumps([block.__dict__ for block in blockchain.chain], indent=2)
      return blockchain_json
  