Клієнт втрачає транзакції через неправильний резолвінг доменів?
Інтеграція Unstoppable Domains (UD) — це рішення для децентралізованих доменів, що працюють на Polygon та Ethereum. На відміну від ENS, імена купуються один раз без щорічної оплати, що дає економію до $1000 за 5 років. .crypto, .wallet, .nft, .x, .blockchain та інші TLD. Домени зберігаються як ERC-721 NFT. UD підтримує понад 50 TLD та 100+ блокчейнів для резолвінгу адрес. Це знижує бар'єр входу для нових користувачів криптогаманців і робить UD привабливим рішенням для dApp. Unstoppable Domains у 5 разів дешевше за ENS на газі, а інтеграція в 10 разів простіша завдяки єдиному SDK.
Досвід нашої команди — 5+ років на ринку Web3, понад 50 успішних інтеграцій доменів. Ми знаємо, як правильно резолвити адреси, обробляти помилки та працювати з обома мережами. Замовте інтеграцію Unstoppable Domains у ваш dApp — отримайте готове рішення, що розширює аудиторію. В одному проєкті ми інтегрували UD для DeFi-додатку з 10 000 активних користувачів: резолвінг зайняв 2 дні, а кількість помилкових транзакцій знизилася на 30% завдяки автоматичному визначенню доменів.
Як ми інтегруємо 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("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-денна підтримка та сертифікат інтеграції.
Процес роботи
- Аналітика — розбираємо поточну архітектуру, визначаємо точки входу.
- Проектування — вибираємо схему резолвінгу, провайдерів, fallback-логіку.
- Реалізація — пишемо код, налаштовуємо SDK, покриваємо юніт-тестами.
- Тест — перевіряємо на mainnet та testnet, емулюємо крайові випадки.
- Деплой — відправляємо PR, допомагаємо з мержем.
Строки та вартість
Орієнтовні строки — від 1 до 3 робочих днів залежно від складності. Вартість інтеграції — від $500 до $2000, розраховуємо індивідуально після знайомства з проєктом. Отримайте консультацію — зв'яжіться з нами для оцінки вашого проєкту за 1 день.
Ключові відмінності від ENS
| Параметр | Unstoppable Domains | ENS |
|---|---|---|
| Модель оплати | Одноразова покупка | Щорічна оренда |
| Мережа (основна) | Polygon L2 | Ethereum mainnet |
| TLD | .crypto, .wallet, .nft... | .eth |
| Стандарт | UNS (кастомний) | ERC-137 |
| Reverse resolution | Обмежена | Повна |
| Економія за 5 років | ~$1000 (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.







