input: 
  def create_blockchain():
      """Create a basic blockchain system in Python. This function initializes a blockchain, 
      adds a few sample blocks to the blockchain, and then retrieves and returns the entire blockchain in JSON format.
      
      Example:
      blockchain = create_blockchain()
      print(blockchain)
      # Output:
      # [
      #   {
      #     "index": 0,
      #     "timestamp": "2023-10-01T12:00:00",
      #     "data": "Genesis Block",
      #     "previous_hash": null,
      #     "hash": "c5e47ed07e5b3f7479d7b7cdeb2c78161b2f61be7e7e2b788f7e02bba22b0e7d"
      #   },
      #   {
      #     "index": 1,
      #     "timestamp": "2023-10-01T12:05:00",
      #     "data": "Transaction Data",
      #     "previous_hash": "c5e47ed07e5b3f7479d7b7cdeb2c78161b2f61be7e7e2b788f7e02bba22b0e7d",
      #     "hash": "e1e4b81a3a793d06c35f7d8b0d4c2e9581c1f2c2f8d1d2c2e1b0e1f1b1c0d2e3"
      #   }
      # ]
      """
  
output:     
      import time
      import hashlib
      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 hashlib.sha256(block_string).hexdigest()
  
      def create_genesis_block():
          return Block(0, time.strftime("%Y-%m-%dT%H:%M:%S"), "Genesis Block", "0")
  
      def next_block(last_block, data):
          this_index = last_block.index + 1
          this_timestamp = time.strftime("%Y-%m-%dT%H:%M:%S")
          this_data = data
          this_previous_hash = last_block.hash
          return Block(this_index, this_timestamp, this_data, this_previous_hash)
  
      blockchain = [create_genesis_block()]
      previous_block = blockchain[0]
  
      num_of_blocks_to_add = 1
  
      for i in range(0, num_of_blocks_to_add):
          block_to_add = next_block(previous_block, "Transaction Data")
          blockchain.append(block_to_add)
          previous_block = block_to_add
  
      return json.dumps([block.__dict__ for block in blockchain], indent=4)
  