Интеграция с 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 (децентрализованный hosting на базе 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 }, // category: wallet
      ]
    );
    
    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 вместо raw адреса.

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 рабочих дня.