TON DNS

На официальном сайте появилась инструкция по регистрации .ton доменов в блокчейне Telegram Open Netowork.

Цель этого документа — дать краткое введение в TON DNS, сервис для перевода понятных человеку доменных имен (таких как test.ton или mysite.temp.ton) в адреса смарт контракта TON, адреса ADNL. используемые службами, работающими в сети TON (например, узлами TON) и т. д.

Доменные имена

TON DNS использует знакомые доменные имена, состоящие из строки в кодировке UTF-8 длиной до 126 байт, с различными разделами доменного имени, разделенными точками (.). Нулевые символы (т.е. нулевые байты) и, в более общем смысле, байты в диапазоне 0..32 не допускаются в доменных именах. Например, test.ton и mysite.temp.ton являются допустимыми доменами TON DNS. Основное отличие от обычных доменных имен состоит в том, что домены TON DNS чувствительны к регистру; перед выполнением поиска TON DNS можно преобразовать все домены в нижний регистр, чтобы получить нечувствительность к регистру при желании.

В настоящее время только домены, оканчивающиеся на .ton, распознаются как допустимые домены TON DNS. Это может измениться в будущем. Однако обратите внимание, что плохая идея определять домены первого уровня, совпадающие с доменами первого уровня, уже существующими в Интернете, такими как .com или .to, потому что тогда можно зарегистрировать домен TON google .com, разверните там сайт TON, создайте скрытую ссылку на страницу этого сайта TON со своего другого невинно выглядящего сайта TON и украдите файлы cookie google.com у ничего не подозревающих посетителей.

Внутренне TON DNS преобразует доменные имена следующим образом. Во-первых, доменное имя разбивается на его компоненты, разделенные точечными символами .. Затем нулевые символы добавляются к каждому компоненту, и все компоненты объединяются в обратном порядке. Например, google.com становится com\0google\0.

Резолвинг TON DNS

Домен TON DNS резолвится следующим образом. Во-первых, корневой DNS смарт-контракт определяется путем проверки значения параметра конфигурации #4 в последнем состоянии мастерчейна. Этот параметр содержит 256-битный адрес корневого смарт-контракта DNS внутри мастерчейна.

Затем вызывается специальный метод get dnsresolve (id метода 123660) для смарт-контракта корневого DNS с двумя параметрами. Первый параметр — это CellSlice с 8n битами данных, содержащими внутреннее представление разрешаемого домена, где n — длина внутреннего представления в байтах (не более 127). Второй параметр — это 16-разрядное целое число со знаком, содержащее обязательную категорию. Если категория равна нулю, то запрашиваются все категории.

Регистрация новых TON доменов

Предположим, у вас есть новый сайт TON с недавно созданным адресом ADNL, например, vcqmha5j3ceve35ammfrhqty46rkhi455otydstv66pk2tmf7rl25f3. Конечно, конечный пользователь может набрать http://vcqmha5j3ceve35ammfrhqty46rkhi455otydstv66pk2tmf7rl25f3.adnl, чтобы зайти на ваш сайт TON из браузера с помощью прокси-сервера RLDP-HTTP в режиме клиента, но это не очень удобно. Вместо этого вы можете зарегистрировать новый домен, скажем, mysite.temp.ton с записью dns_adnl_address в категории 1, содержащей адрес ADNL vcq … 25f3 вашего сайта TON. Затем пользователь получит доступ к вашему сайту TON, просто набрав mysite.temp.ton в браузере.

Как правило, вам необходимо связаться с владельцем домена более высокого уровня и попросить его добавить запись для вашего поддомена в его смарт-контракт распознавателя DNS. Тем не менее, TestNet цепочки блоков TON имеет специальный интеллектуальный контракт для средства разрешения проблем для temp.ton, который позволяет любому автоматически регистрировать любые дочерние домены temp.ton, которые еще не зарегистрированы, при условии, что небольшая плата (в тестовых граммах) выплачивается этот умный контракт. В нашем случае нам сначала нужно узнать адрес этого умного контракта, например, с помощью Lite Client:

Также в документации вы узнаете о том как резолвятся домены TON DNS, как использовать LiteClient и TonLib для резолвинга доменов TON DNS, как зарегистрировать домен в TON.

Перевод от https://tontalk.org/threads/214/

Полная подробная статья на английском https://ton.org/DNS-HOWTO.txt

Подписывайтесь на наши каналы в Telegram, чтобы всегда знать о последних новостях Telegram и TON.