Інтеграція з TON DNS

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Інтеграція з TON DNS
Простий
від 1 дня до 3 днів
Часті запитання

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

Етапи блокчейн-розробки

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1121
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    857

Інтеграція з TON DNS

TON DNS — нативна система іменування блокчейну TON. Домени .ton використовуються для резолюції адрес гаманців, смарт-контрактів і веб-сайтів у TON Sites (децентралізований хостинг на базі TON Storage). Інтеграція критична для будь-якого dApp, орієнтованого на аудиторію Telegram і TON екосистеми.

Резолюція через TonClient

import { TonClient, Address } from "@ton/ton";

const client = new TonClient({
  endpoint: "https://toncenter.com/api/v2/jsonRPC",
  apiKey: TON_API_KEY,
});

// Резолюція .ton домену
async function resolveTONDomain(domain: string): Promise<string | null> {
  // Видаляємо .ton суфікс якщо є
  const name = domain.endsWith(".ton") ? domain.slice(0, -4) : domain;
  
  try {
    const result = await client.runMethod(
      Address.parse("EQCA14o1-VWhS2efqoh_9M1b_A9DtKTuoqfmkn83AbJzwnPi"), // DNS resolver
      "dnsresolve",
      [
        { type: "slice", cell: buildDomainCell(name) },
        { type: "int", value: 0n }, // категорія: гаманець
      ]
    );
    
    if (result.stack.remaining > 0) {
      const address = result.stack.readAddress();
      return address.toString();
    }
  } catch {
    return null;
  }
  
  return null;
}

Інтеграція TON Connect

Для dApps з TON Connect: відображення імені .ton у UI замість сирої адреси.

import { useTonAddress } from "@tonconnect/ui-react";

function WalletDisplay() {
  const address = useTonAddress();
  const [domain, setDomain] = useState<string | null>(null);
  
  useEffect(() => {
    if (address) {
      resolveReverseTON(address).then(setDomain);
    }
  }, [address]);
  
  return <span>{domain ?? formatAddress(address)}</span>;
}

Особливості TON DNS

На відміну від ENS, TON DNS має ієрархію через смарт-контракти: кореневий DNS контракт → зональні контракти (зона .ton) → окремі домени. Кожен домен — окремий смарт-контракт.

Домени продаються через аукціони на getgems.io і dns.ton.org. NFT домени торгуються на TON NFT маркетплейсах.

Інтеграція TON DNS у TON dApp або Telegram Mini App — 1-2 робочих дня.