code: async def main(wallet_name: str) -> None:
      
  
      logging.basicConfig(level=logging.WARN, format='%(levelname)-8s | %(name)-12s | %(message)s')
      logging.getLogger('indy').setLevel(logging.ERROR)
  
      path_start = join(RevRegBuilder.dir_tails_sentinel(wallet_name), '.start')
  
      with open(path_start, 'r') as fh_start:
          start_data = json.loads(fh_start.read())
      remove(path_start)
  
      logging.getLogger(__name__).setLevel(start_data['logging']['level'])
      for path_log in start_data['logging']['paths']:
          logging.getLogger(__name__).addHandler(logging.FileHandler(path_log))
  
      wallet = WalletManager().get(
          {
              'id': wallet_name,
              'storage_type': start_data['wallet']['storage_type'],
              **start_data['wallet']['config'],
          },
          access=start_data['wallet']['access_creds'].get('key', None))
      async with wallet, RevRegBuilder(wallet, rrbx=True) as rrban:
          await rrban.serve()
docs: Main line for revocation registry builder operating in external process on behalf of issuer agent.
  
      :param wallet_name: wallet name - must match that of issuer with existing wallet