input: def create_blockchain(initial_data):
      """Create a simple blockchain system in Python.
      The system will include a Block class to represent each block in the chain,
      and a Blockchain class to manage the sequence of blocks. The add_block method
      will add a new block to the blockchain, and the get_chain method will return
      the entire blockchain in JSON format.
      >>> blockchain = create_blockchain({'timestamp': '2023-01-01 12:00:00', 'data': 'Genesis Block'})
      >>> blockchain.add_block({'timestamp': '2023-01-01 12:01:00', 'data': 'Second Block'})
      >>> blockchain.get_chain()
      '[{"index": 0, "timestamp": "2023-01-01 12:00:00", "data": "Genesis Block", "previous_hash": null, "hash": "some_hash_value"},{"index": 1, "timestamp": "2023-01-01 12:01:00", "data": "Second Block", "previous_hash": "some_hash_value", "hash": "another_hash_value"}]'
      """
      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 = sha256(f'{self.index}{self.timestamp}{self.data}{self.previous_hash}')
  
      class Blockchain:
          def __init__(self, initial_data):
              self.chain = []
              self.add_block(initial_data)
  
          def add_block(self, data):
              previous_hash = self.chain[-1].hash if len(self.chain) > 0 else None
              block = Block(len(self.chain), data['timestamp'], data['data'], previous_hash)
              self.chain.append(block)
  
          def get_chain(self):
              return json.dumps([b.__dict__ for b in self.chain], indent=2)
      
      return Blockchain(initial_data)
output:     import hashlib
      import json
  
      def sha256(data):
          return hashlib.sha256(data.encode()).hexdigest()