input: 
  def create_blockchain() -> Blockchain:
      """
      Create a blockchain system with the ability to add blocks and get the entire chain in JSON format.
      >>> blockchain = create_blockchain()
      >>> blockchain.add_block({'timestamp': '2022-01-01', 'data': 'Block 1'})
      >>> blockchain.add_block({'timestamp': '2022-01-02', 'data': 'Block 2'})
      >>> blockchain.get_chain()
      '[
        {
          "index": 0,
          "timestamp": "2022-01-01",
          "data": "Block 1",
          "previous_hash": null,
          "hash"
        },
        {
          "index": 1,
          "timestamp": "2022-01-02",
          "data": "Block 2",
          "previous_hash": "hash_of_block_1",
          "hash"
        }
      ]'
      """
      return Blockchain()
  
output:     
      class Blockchain:
          def __init__(self):
              self.chain = []
              self.create_genesis_block()
  
          def create_genesis_block(self):
              genesis_block = {
                  "index": 0,
                  "timestamp": "2022-01-01",
                  "data": "Genesis Block",
                  "previous_hash": None,
                  "hash": "genesis_hash"
              }
              self.chain.append(genesis_block)
  
          def add_block(self, data):
              previous_block = self.chain[-1]
              new_block = {
                  "index": len(self.chain),
                  "timestamp": data['timestamp'],
                  "data": data['data'],
                  "previous_hash": previous_block['hash'],
                  "hash": f"hash_of_block_{len(self.chain)}"
              }
              self.chain.append(new_block)
  
          def get_chain(self):
              return json.dumps(self.chain, indent=2)
  
      return Blockchain()
  