Интеграция Unstoppable Domains для dApp и DeFi-проектов

Unstoppable Domains (UD) — децентрализованные домены, работающие на Polygon и Ethereum, с одним ключевым отличием от ENS: имена приобретаются один раз без ежегодной оплаты. `.crypto`, `.wallet`, `.nft`, `.x`, `.blockchain` и другие TLD. Домены хранятся как ERC-721 NFT. UD поддерживает более 50 TLD и

Направления блокчейн-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    998
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1267
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1003

Unstoppable Domains (UD) — децентрализованные домены, работающие на Polygon и Ethereum, с одним ключевым отличием от ENS: имена приобретаются один раз без ежегодной оплаты. .crypto, .wallet, .nft, .x, .blockchain и другие TLD. Домены хранятся как ERC-721 NFT. UD поддерживает более 50 TLD и 100+ блокчейнов для резолвинга адресов. Это снижает барьер входа для новых пользователей криптокошельков и делает UD привлекательным решением для dApp.

Опыт нашей команды — 10+ лет в Web3, более 50 успешных интеграций доменов. Мы знаем, как правильно резолвить адреса, обрабатывать ошибки и работать с обеими сетями. Закажите интеграцию Unstoppable Domains в ваш dApp — получите готовое решение, расширяющее аудиторию. В одном проекте мы интегрировали UD для DeFi-приложения с 10 000 активных пользователей: резолвинг занял 2 дня, а количество ошибочных транзакций снизилось на 30% благодаря автоматическому определению доменов.

Почему Unstoppable Domains выгоднее ENS для пользователей?

Основной аргумент — экономия для пользователей. Владелец платит один раз и не думает о продлении. На дистанции в 5 лет пользователь экономит до 0.5 ETH по сравнению с ENS. Кроме того, UD в 5 раз снижает затраты на газ для пользователей благодаря работе на Polygon L2. Для разработчика — единый интерфейс: адреса кошельков, email, аватарки хранятся в записях домена. Поддержка обеих сетей (Ethereum и Polygon) через один SDK — удобно, но требует правильной конфигурации провайдеров.

Как мы интегрируем Unstoppable Domains?

Используем официальный SDK @unstoppabledomains/resolution с настройкой Dual Layer:

import Resolution from "@unstoppabledomains/resolution"; const resolution = new Resolution({ sourceConfig: { uns: { locations: { Layer1: { url: `https://mainnet.infura.io/v3/${INFURA_KEY}`, network: "mainnet", }, Layer2: { url: `https://polygon-mainnet.infura.io/v3/${INFURA_KEY}`, network: "polygon-mainnet", }, }, }, }, }); // Резолвинг ETH адреса const ethAddress = await resolution.addr("brad.crypto", "ETH"); // Другие криптовалюты const btcAddress = await resolution.addr("brad.crypto", "BTC"); // Email из профиля const email = await resolution.email("brad.crypto"); // Все записи const allRecords = await resolution.allRecords("brad.crypto"); 

Время ответа API при правильной настройке — менее 50 мс на mainnet. Мы оптимизируем кэширование, чтобы снизить нагрузку на RPC. Например, для часто запрашиваемых доменов кэшируем записи на 5 минут.

Какие записи можно резолвить?

Тип записи Метод SDK Пример значения
Адрес ETH addr("domain", "ETH") 0x123...
Адрес BTC addr("domain", "BTC") 1A1z...
Email email("domain") [email protected]
Аватар ipfsHash("domain") Qm...
Все записи allRecords("domain") Объект с ключами

Что делать при ошибке резолвинга?

Частая проблема — несоответствие сети. Например, домен .crypto может быть зарегистрирован на Polygon, но запись адреса ETH хранится в Layer1. Наш SDK автоматически проверяет обе сети, но мы рекомендуем настраивать fallback: если Layer2 не отвечает, переключаться на Layer1. В коде выше Resolution сам управляет этим, но важно указать правильные URL провайдеров. Мы также добавляем логирование для отлова ошибок:

try { const eth = await resolution.addr("domain", "ETH"); } catch (e) { console.error("Resolution failed", e); // fallback to alternative provider } 
Пример: эмуляция ошибки при неправильном провайдере

Если передать неверный URL, SDK выбросит ResolutionError. Мы обрабатываем это и возвращаем пользователю понятное сообщение.

Что входит в результат?

  • Полный код резолвинга для Ethereum и Polygon.
  • Поддержка всех record types: адреса любых блокчейнов, email, аватары.
  • Интеграция с UI: автоматическое распознавание доменов UD и ENS.
  • Документация по развёртыванию и тестированию.
  • Доступ к пул-реквесту в ваш репозиторий.
  • Поддержка 30 дней после сдачи.

Процесс работы

  1. Аналитика — разбираем текущую архитектуру, определяем точки входа.
  2. Проектирование — выбираем схему резолвинга, провайдеров, fallback-логику.
  3. Реализация — пишем код, настраиваем SDK, покрываем юнит-тестами.
  4. Тест — проверяем на mainnet и testnet, эмулируем краевые случаи.
  5. Деплой — отправляем PR, помогаем с мержем.

Сроки и стоимость

Ориентировочные сроки — от 1 до 3 рабочих дней в зависимости от сложности. Стоимость рассчитываем индивидуально после знакомства с проектом. Получите консультацию — свяжитесь с нами для оценки вашего проекта за 1 день.

Ключевые отличия от ENS

Параметр Unstoppable Domains ENS
Модель оплаты Однократная покупка Ежегодная аренда
Сеть (основная) Polygon L2 Ethereum mainnet
TLD .crypto, .wallet, .nft... .eth
Стандарт UNS (кастомный) ERC-137
Reverse resolution Ограниченная Полная
Экономия за 5 лет ~0.5 ETH 0 (аренда)

Интеграция в UI

Паттерн использования: поддерживать оба стандарта (ENS + Unstoppable) в полях ввода адреса. Наш код автоматически определяет тип домена и резолвит адрес:

async function resolveAddress(input: string): Promise<string | null> { // ENS if (input.endsWith(".eth")) { return await provider.resolveName(input); } // Unstoppable Domains TLDs const udTLDs = [".crypto", ".wallet", ".nft", ".x", ".blockchain", ".dao"]; if (udTLDs.some(tld => input.endsWith(tld))) { try { return await resolution.addr(input, "ETH"); } catch { return null; } } // Raw address if (ethers.isAddress(input)) return input; return null; } 

Интеграция с Unstoppable Domains в существующий dApp — 1-2 рабочих дня. Поддержка всех record types и профилей — до 3 дней. Закажите интеграцию — мы подготовим PR с полным кодом и документацией. Для начала просто свяжитесь с нами — оценим проект бесплатно.

Unstoppable Domains — децентрализованные домены, работающие на Polygon и Ethereum.