def createDomain(self, coinbase, resigning):
        used = not resigning
        b = False
        try:
            try:
                db_relayer = Relayer.select().where(
                    Relayer.coinbase == coinbase).get()
            except Relayer.DoesNotExist:
                b = True
            db_relayer = model_to_dict(db_relayer)
            Domain.update(used=used, coinbase=coinbase).where(
                Domain.domain == db_relayer['domain']).execute()
        except:
            pass

        try:
            db_domain = Domain.select().where(Domain.used == False).order_by(
                Domain.id.asc()).get()
            db_domain = model_to_dict(db_domain)
            if b == True:
                Domain.update(used=True, coinbase=coinbase).where(
                    Domain.domain == db_domain['domain']).execute()
            return db_domain['domain']
        except:
            countDomain = Domain.select().where(Domain.used == True).count()
            domain = 'https://' + format(
                countDomain, '03d') + '.' + settings['domain_suffix']
            Domain.insert(
                domain=domain, used=True,
                coinbase=coinbase).on_conflict_ignore(True).execute()
            return domain