Как разместить сайт на домене .ton
Два способа разместить сайт на имени .ton — TON Storage или собственный сервер, — адреса, по которым он открывается, и значения терминов этого сайта.
Как разместить TON-сайт
Статический сайт в TON Storage
- Положите сайт в папку с файлом
index.htmlи создайте из неё bag с помощью tonutils-storage или официального storage daemon. Скопируйте Bag ID, который он выведет. - Держите bag в раздаче: оставьте узел хранения запущенным или заплатите провайдеру хранения. Bag, который никто не раздаёт, не открывается.
- На dns.ton.org вставьте Bag ID в поле Site вашего имени и отметьте Hosting on TON Storage — не отдельную строку Storage: её шлюз не читает. Сайт откроется по адресу
ваше-имя.ton.website.
Собственный сервер
- Запустите сайт на сервере по адресу
http://127.0.0.1:80— подойдёт любой веб-сервер или приложение. - Запустите рядом tonutils-reverse-proxy и подпишите в кошельке изменение DNS, которое он покажет: ./tonutils-reverse-proxy-linux-amd64 --domain your-name.ton
- Откройте
ваше-имя.ton.website. Прокси должен оставаться запущенным; без--domainсайт всё равно открывается по ADNL-адресу:<адрес>.adnl.website.
Чтобы привязать имя позже или направить на тот же сервер ещё одно имя, укажите в его поле Site на dns.ton.org ADNL-адрес, который выводит прокси. Запуск в виде службы, режим туннеля, заголовки запроса, которые добавляет прокси, — в README прокси и в документации TON.
Три адреса
- ton.website
- Основной адрес.
alice.tonоткрывается какalice.ton.website, поддомен видаblog.alice.ton— какblog.alice.ton.website, а имя пользователя Telegramalice.t.me— какalice-tg.ton.website. Поддомены открываются только здесь — см. вопросы ниже. - ton.run
- Короткий псевдоним для имён .ton и имён пользователей Telegram:
alice.ton.run. Поддомены здесь не обслуживаются. - adnl.website
- Открывает сервер по его ADNL-адресу, вообще без имени .ton:
<адрес>.adnl.website. Удобно для сайта, у которого ещё нет имени.
Словарь
- TON Site (TON-сайт)
- Сайт, который работает через сеть TON, а не через обычный интернет. Имя
.tonуказывает на него DNS-записьюsite. - ADNL
- Уровень адресации и транспорта сети TON. ADNL-адрес обозначает сервер, на котором работает TON-сайт; на одном сервере может быть много имён.
- TON Storage
- Сеть обмена файлами в TON. Сайт может быть статическим набором файлов в ней, а не работающим сервером.
- Bag ID
- Идентификатор набора файлов в TON Storage. В записи
siteможет стоять Bag ID вместо ADNL-адреса; такой сайт открывается, только пока хотя бы один узел раздаёт этот bag. - запись site
- DNS-запись, благодаря которой имя
.tonоткрывается как сайт. Это единственная запись, которую шлюз читает, чтобы открыть сайт. - next_resolver
- DNS-запись, которая передаёт поддомены имени (например,
nft.minter.ton) другому контракту. - поддомен второго уровня
- Имя вида
blog.alice.ton, которое разрешается черезnext_resolverродительского имени. - RLDP
- Протокол, по которому TON-сайты передают HTTP поверх ADNL.
- Сервер, на котором в этом каталоге 20 и более имён, — обычно это парковочные страницы и страницы «домен продаётся». Они включаются и отключаются вместе и стоят в списке после самостоятельных сайтов.
Общие термины блокчейна — кошелёк, jetton, NFT, DNS-элемент — в словаре tonscan.info (на английском).
Вопросы и ответы
Почему сайт не открывается?
Шлюз только передаёт запросы: если сервер сайта выключен или никто не раздаёт его bag в TON Storage, передавать нечего. На странице ошибки написано, что именно увидел шлюз. Каталог каждую неделю заново проверяет все сайты из списка, поэтому сайт, который долго не отвечает, из него исчезает.
Почему первая загрузка медленная?
При первом запросе сайт нужно найти в сети TON и установить соединение — по измерениям это 5–12 секунд. После этого страница кэшируется и загружается как обычный сайт.
Как добавить свой сайт в каталог?
Ничего отправлять не нужно: еженедельное сканирование читает имена TON DNS из блокчейна и добавляет те, что отвечают настоящей страницей. Чтобы выбрать рубрику, добавьте на страницу <meta name="ton2web:category" content="blog"> (значения: defi, wallet, game, nft, shop, media, tool, docs, social, blog, personal).
Открываются ли поддомены вида blog.alice.ton?
Да, на ton.website: blog.alice.ton открывается как blog.alice.ton.website. Владелец имени .ton может выдавать имена под ним, и у каждого своя запись site. Каждому поддомену нужен отдельный сертификат, поэтому шлюз находит их сам: раз в неделю читает из блокчейна все коллекции поддоменов, раз в день опрашивает каждый поддомен с записью site и добавляет сертификат тем, что отвечают. Новый поддомен обычно начинает открываться в течение недели после запуска. Сколько их сейчас (на английском).
Сколько стоит хостинг?
Программы бесплатны. Сервер стоит как небольшой VPS; статическому сайту в TON Storage сервер не нужен — нужно только, чтобы кто-то раздавал bag. Имя .ton покупается на аукционе на dns.ton.org, оплата в GRAM.
Где посмотреть, кому принадлежит имя и когда его нужно продлить?
На странице каждого сайта здесь указаны владелец имени и срок продления на момент еженедельного сканирования. Актуальные данные, прежние владельцы, аукционы и все DNS-записи — на tonscan.info, обозревателе блокчейна; ссылка на него есть на странице каждого сайта.