async def _create_rev_reg(self, rr_id: str, rr_size: int = None) -> None:
LOGGER.debug('<STR_LIT>', rr_id, rr_size)<EOL>rr_size = rr_size or <NUM_LIT><EOL>(cd_id, tag) = rev_reg_id2cred_def_id__tag(rr_id)<EOL>LOGGER.info('<STR_LIT>', rr_size, rr_id)<EOL>tails_writer_handle = await blob_storage.open_writer(<EOL>'<STR_LIT:default>',<EOL>json.dumps({<EOL>'<STR_LIT>': Tails.dir(self._dir_tails, rr_id),<EOL>'<STR_LIT>': '<STR_LIT>'<EOL>}))<EOL>apriori = Tails.unlinked(self._dir_tails)<EOL>(rr_id, rrd_json, rre_json) = await anoncreds.issuer_create_and_store_revoc_reg(<EOL>self.wallet.handle,<EOL>self.did,<EOL>'<STR_LIT>',<EOL>tag,<EOL>cd_id,<EOL>json.dumps({<EOL>'<STR_LIT>': rr_size,<EOL>'<STR_LIT>': '<STR_LIT>'<EOL>}),<EOL>tails_writer_handle)<EOL>delta = Tails.unlinked(self._dir_tails) - apriori<EOL>if len(delta) != <NUM_LIT:1>:<EOL><INDENT>LOGGER.debug(<EOL>'<STR_LIT>', rr_id)<EOL>raise CorruptTails('<STR_LIT>'.format(rr_id))<EOL><DEDENT>tails_hash = basename(delta.pop())<EOL>Tails.associate(self._dir_tails, rr_id, tails_hash)<EOL>with REVO_CACHE.lock:<EOL><INDENT>rrd_req_json = await ledger.build_revoc_reg_def_request(self.did, rrd_json)<EOL>await self._sign_submit(rrd_req_json)<EOL>await self._get_rev_reg_def(rr_id)  <EOL><DEDENT>rre_req_json = await ledger.build_revoc_reg_entry_request(self.did, rr_id, '<STR_LIT>', rre_json)<EOL>await self._sign_submit(rre_req_json)<EOL>LOGGER.debug('<STR_LIT>')<EOL>
Create revocation registry and new tails file (and association to
corresponding revocation registry definition via symbolic link) for input
revocation registry identifier.

:param rr_id: revocation registry identifier
:param rr_size: revocation registry size (defaults to 256)