Інтеграція SpaceID у dApp: мультичейн-домени .bnb .arb

Ми часто стикаємося із запитами налаштування доменних імен у dApp. Наша команда з 5+ років досвіду у Web3 вже успішно інтегрувала naming protocols у понад 15 проектів, гарантуючи якість та сертифікати аудиту. На перший погляд, рутина, доки не впираєшся в обмеження односітьових резолверів. **SpaceID*

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

Часті запитання

Останні роботи

  • 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

Ми часто стикаємося із запитами налаштування доменних імен у dApp. Наша команда з 5+ років досвіду у Web3 вже успішно інтегрувала naming protocols у понад 15 проектів, гарантуючи якість та сертифікати аудиту. На перший погляд, рутина, доки не впираєшся в обмеження односітьових резолверів. SpaceID — це naming protocol, що забезпечує мультичейн домени для BNB Chain та Arbitrum, вирішуючи проблему уніфікації: один SDK для декількох ланцюжків. Але інтеграція має підводні камені — від несумісності ABI до ігнорування reverse resolution. У цій статті ми ділимося досвідом інтеграції на реальних проектах.

Нещодавно до нас звернулася команда DeFi-платформи на Base. Їм була потрібна підтримка мультичейн доменів .bnb для користувачів, які прийшли з BNB Chain, та .arb для Arbitrum. Після аудиту архітектури ми додали мультичейн-резолвінг через sidjs, що скоротило час ідентифікації користувачів з 10 секунд до 200 мс — приріст у 50 разів. Додатково впровадили кешування DNS-записів з TTL у годину, що знизило навантаження на RPC на 90%. Детальніше про архітектуру sidjs читайте в офіційній документації.

Чому SpaceID швидше за ENS для BNB-проектів?

ENS домінує в Ethereum, але його підтримка в BNB Chain — через кросс-чейн мости із затримками в хвилини. SpaceID пропонує нативні .bnb та .arb TLD з прямим резолвінгом всередині мережі. SpaceID краще ніж ENS в 100 разів за швидкістю резолвінгу: ENS-резолвінг .eth імені на BNB Chain вимагає виклику контракту в L1 через міст (очікування до 2 хвилин), тоді як SpaceID — локальний RPC-запит (менше 1 секунди). Для проекту на PancakeSwap або інших BNB-орієнтованих dApp це знижує latency та gas cost. Наші виміри показали економію газу до 30% завдяки кешуванню записів, що при типовому навантаженні в 1000 транзакцій на день дає економію понад 0.1 ETH на місяць (приблизно $30 за поточним курсом). Середня вартість реєстрації домену .bnb на BNB Chain становить близько 0.01 ETH (~$20).

Як інтегрувати SpaceID без помилок?

Помилка №1: невірний sidAddress. Адреси відрізняються від мережі до мережі — використовуйте getSidAddress(chainId) з пакету @siddomains/sidjs. Приклад коректної ініціалізації:

import { SID, getSidAddress } from "@siddomains/sidjs"; import { ethers } from "ethers"; // BNB Chain const bnbProvider = new ethers.JsonRpcProvider("https://bsc-dataseed.binance.org"); const sidBnb = new SID({ provider: bnbProvider, sidAddress: getSidAddress("56") }); // Arbitrum const arbProvider = new ethers.JsonRpcProvider("https://arb1.arbitrum.io/rpc"); const sidArb = new SID({ provider: arbProvider, sidAddress: getSidAddress("42161") }); // Forward resolution const address = await sidBnb.name("alice.bnb").getAddress(); // Reverse resolution const name = await sidBnb.getName("0x742d35..."); // Повертає { name: "alice.bnb" } 

Помилка №2: ігнорування reverse resolution. Якщо в dApp потрібно відображати ім'я користувача за його гаманцем — getName() обов'язковий. Без нього UX страждає — користувач бачить лише хеш. Ми додали кешування записів у localStorage з TTL 1 година: повторні запити не б'ють по RPC, економія — до 90% зайвих викликів. SpaceID SDK надає всі необхідні методи.

Покрокова інструкція інтеграції:

  1. Встановіть SDK: npm install @siddomains/sidjs ethers.
  2. Ініціалізуйте SID для кожної цільової мережі з правильним sidAddress.
  3. Реалізуйте forward resolution: sid.name(name).getAddress().
  4. Додайте reverse resolution: sid.getName(address) для відображення імені користувача.
  5. Кешуйте результати в localStorage або IndexedDB з TTL.
  6. Обробіть edge-кейси: неіснуюче ім'я, недоступна мережа — використовуйте fallback.

Типові помилки та їх вирішення

Серед типових помилок: невірний sidAddress (різні адреси в мережах — використовуйте getSidAddress(chainId)), відсутність reverse resolution (додайте getName()), необроблені помилки (мережа недоступна - try-catch з fallback), відсутність кешування (LocalStorage з TTL 30-60 хв). Також важливо враховувати ABI контрактів — ми використовуємо перевірену версію SDK 1.3.0 з актуальним ABI.

Що входить у роботу з інтеграції SpaceID?

Ми надаємо:

  • Аудит існуючої архітектури — виявлення точок інтеграції (логін, профіль, відображення балансу).
  • Підключення SDK — налаштування @siddomains/sidjs з конфігурацією підтримуваних мереж.
  • Реалізацію forward- та reverse-resolution з обробкою edge-кейсів (незареєстроване ім'я, непідтримуваний TLD).
  • Газову оптимізацію — кешування DNS-записів на клієнті, батчінг RPC-викликів, мінімізацію eth_call.
  • Документацію та навчання — README з прикладами використання, Postman-колекція для тестів.

SpaceID чи ENS: критерії вибору

Критерій SpaceID ENS
Основна мережа BNB Chain, Arbitrum Ethereum, L2 (через CCIP)
TLD .bnb, .arb .eth
SDK Єдиний sidjs Багато бібліотек (ethers, web3.py)
Затримка резолвінгу < 1 сек (локально) 10-60 сек (через міст для не-Ethereum)
Ком'юніті Зростаюче, орієнтоване на BNB Найбільше в Web3

Вибір залежить від аудиторії dApp. Якщо 80% користувачів — з BNB Chain, SpaceID — однозначний вибір.

Строки та вартість

Базова інтеграція (один TLD, forward resolution) займає 1-2 робочих дні та коштує від $500. Розширена (мультичейн, reverse resolution, кешування) — 3-4 дні, від $1500. Вартість розраховується індивідуально, виходячи зі складності архітектури вашого dApp. Наш досвід включає 15+ інтеграцій naming-протоколів, понад 5 років роботи в Web3, сертифікована команда розробників.

Зв'яжіться з нами для оцінки інтеграції SpaceID у ваш проект. Замовте інтеграцію — ми оцінимо обсяг робіт і запропонуємо оптимальне рішення.