На официальном сайте появилась инструкция по регистрации .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.