code: def _init_config(self):
          
  
          leveldb_default_path = self._get_default_leveldb_path()
  
          if not os.path.exists(self.config_path):
              log.info("No config file found. Creating default: " + self.config_path)
              open(self.config_path, "a").close()
  
          config = ConfigParser(allow_no_value=True)
  
          config.optionxform = str
          config.read(self.config_path, "utf-8")
          if "defaults" not in config.sections():
              self._add_default_options(config)
  
          if not config.has_option("defaults", "leveldb_dir"):
              self._add_leveldb_option(config, leveldb_default_path)
  
          if not config.has_option("defaults", "dynamic_loading"):
              self._add_dynamic_loading_option(config)
  
          with codecs.open(self.config_path, "w", "utf-8") as fp:
              config.write(fp)
  
          leveldb_dir = config.get(
              "defaults", "leveldb_dir", fallback=leveldb_default_path
          )
          self.leveldb_dir = os.path.expanduser(leveldb_dir)
docs: If no config file exists, create it and add default options.
          Defaults:-
              - Default LevelDB path is specified based on OS
              - dynamic loading is set to infura by default in the file
          This function also sets self.leveldb_dir path