async def open(self) -> '<STR_LIT>':
LOGGER.debug('<STR_LIT>')<EOL>try:<EOL><INDENT>await pool.set_protocol_version(<NUM_LIT:2>)  <EOL>await pool.create_pool_ledger_config(self.name, json.dumps({'<STR_LIT>': str(self.genesis_txn_path)}))<EOL><DEDENT>except IndyError as x_indy:<EOL><INDENT>if x_indy.error_code == ErrorCode.PoolLedgerConfigAlreadyExistsError:<EOL><INDENT>LOGGER.info('<STR_LIT>', self.name)<EOL><DEDENT>else:<EOL><INDENT>LOGGER.debug('<STR_LIT>', x_indy.error_code)<EOL>raise x_indy<EOL><DEDENT><DEDENT>self._handle = await pool.open_pool_ledger(self.name, json.dumps(self.cfg))<EOL>LOGGER.debug('<STR_LIT>')<EOL>return self<EOL>
Explicit entry. Opens pool as configured, for later closure via close().
For use when keeping pool open across multiple calls.

Raise any IndyError causing failure to create ledger configuration.

:return: current object