Как начать
Добро пожаловать в руководство для быстрого старта в TON-разработке! Здесь вы найдёте отправную точку для погружения в концепции TON, а также получите базовый опыт разработки приложений в экосистеме TON.
Что требуется для прохождения
- Базовые знания о программировании.
- Около 30 минут времени.
Примечание: Мы будем кратко объяснять ключевые концепции по мере их появления, но если вы предпочитаете более тео ретический подход, можете сначала ознакомиться с ключевыми понятиями блокчейна TON.
Чему вы научитесь
- Поймёте ключевые понятия блокчейна TON, включая
сообщения
,смарт-контракты
иадреса
. - Научитесь взаимодействовать с экосистемой TON, включая кошельки и эксплореры блокчейна.
- Научитесь взаимодействовать с блокчейном TON: читать и записывать данные.
- Настроите окружение разработчика, используя
Blueprint
для разработки смарт-контрактов. - Начнёте писать
смарт-контракты
, используя языки программированияFunC
,Tolk
иTact
.
Концепция смарт-контрактов
Смарт-контракты можно рассматривать как программы, запущенные в блокчейне. Они следуют известной поведенческой концепции из модели акторов.
В отличие от некоторых других блокчейнов, где можно вызывать код других контрактов синхронным образом, смарт-контракт в TON — это независимая сущность, которая взаимодействует с другими смарт-контрактами на равных. Они взаимодействуют с помощью отправки сообщений друг другу, и TON спроектирован так, что обработка этих транзакций происходит асинхронно.
Каждая обработка сообщения контрактом-получателем считается транзакцией, и может приводить к следующим действиям:
- Отправка новых сообщений.
- Изменение внутренних данных смарт-контракта или даже его кода.
- Изменение его баланса.
У смарт-контракта есть следующие интерфейсы для взаимодействия:
- Получение
внутренних сообщений
от другого смарт-контракта. - Получение
внешних сообщений
извне блокчейна. - Получение запросов к
get-методам
извне блокчейна.
В отличие от внутренних
и внешних
сообщений, обращение к get-методам
не считается транзакцией. Это специальные функции смарт-контракта, не способные изменить его внутреннее состояние или выполнить любое действие, кроме запроса конкретных данных из его состояния.
Это может показаться контринтуитивным, но обращение к get-методам
из других контрактов невозможно.
Взаимодействие с экосистемой TON
Прежде чем мы становиться разработчиками в TON, важно сначала стать продвинутыми пользователями. Давайте создадим наш собственный кошелёк
, отправим несколько транзакций, и увидим результаты наших действий в блокчейне с помощью эксплореров
.
Шаг 1: создайте новый кошелёк с помощью приложения
Самый простой способ создать кошелёк — открыть страницу https://ton.org/wallets и выбрать одно из перечисленных приложений. Они довольно похожи, мы в данном случае выберем Tonkeeper. Вперёд, установите его и запустите.
Шаг 2: мейннет и тестнет
В TON есть две разных сети с названиями мейннет
и тестнет
, их задачи различаются:
Мейннет
— это основная сеть, где происходят реальные транзакции с использованием настоящей криптовалюты и экономической ценностью.Тестнет
— тестовая версия блокчейна TON. Это безопасная площадка, где разработчики могут тестировать свой код без финансового риска. Она в основном используется для разработки, тестированиясмарт-контрактов
и экспериментов с новой функциональностью.
Получение средств
Транзакции в TON всегда требуют определённого количества средств, поскольку исполнение кода смарт-контракта требует оплаты комиссии. Базовые транзакции в TON очень дешёвые — около 1 цента за транзакцию. Суммы в Toncoin, эквивалентной $5, хватит на сотни таких транзакций. Вот как можно обзавестись Toncoin:
- В случае с
мейннетом
получить настоящиеToncoin
можно либо с помощью простой кнопки «Купить» в интерфейсе кошелька, либо попросив кого-то прислать их на вашадрес
. Вы можете скопировать адрес из приложения кошелька, обычно он расположен рядом с вашим балансом.
Не беспокойтесь, делиться своим адресом
совершенно безопасно, если только вы не хотите сохранить в тайне свою связь с ним.
- Для
тестнета
вы можете запросить тестовые средства в боте Testgiver Ton Bot полностью бесплатно! После небольшого ожидания вы получите 2Toncoin
, которые появятся в вашем приложении кошелька.
Шаг 3: создание кошелька в тестнете
Если вы решите использовать тестнет
, можете сделать это следующим образом.
Создание мнемонической фразы
Чтобы создать ваш первый тестнет-кошелёк в Tonkeeper, можете получить мнемоническую фразу с помощью кнопки ниже. Не забудьте сохранить эту фразу!
Your mnemonic:s
Создание кошелька
Для создания кошелька в тестнете нажмите Кошелёк
-> Добавить кошелёк
-> Аккаунт в Testnet
. Затем импортируйте сид-фразу, созданную на предыдущем шаге.


Шаг 4: исследование блокчейна TON
Поздравляем! Мы создали наш первый кошелёк и впервые получили средства. Теперь давайте посмотрим, как наши действия отражены в блокчейне. Мы можем сделать это с помощью различных эксплореров.
Эксплорер
— это инструмент, позволяющий вам запрашивать данные из блокчейна, исследовать смарт-контракты
в TON, и просматривать транзакции. Для наших примеров мы будем использовать Tonviewer.
Обратите внимание, что при использовании тестнета
вам следует вручную изменить режим работы эксплорера на вариант Testnet
. Не забудьте, что это разные сети, которые не обмениваются информацией о транзакциях или смарт-контрактах. Следовательно, ваш созданный в тестнете
кошелёк не будет отображаться в режиме Mainnet
, и наоборот.
Посмотрим на наш свежесозданный кошелёк с помощью эксплорера
: скопируйте адрес кошелька из приложения и вставьте его в поисковую строку эксплорера, как на примере:

Состояние адреса
Для начала посмотрим, какое состояние адреса у нашего смарт-контракта:
Nonexist
: если вы ещё не получали никакие средства на свойадрес
, то увидите состояние по умолчанию для любого адреса, который ранее не использовался, и, следовательно, не содержит никаких данных.

Uninit
: Для адреса, который содержит некоторые метаданные вроде средств, однако ещё не был инициализирован развёртыванием кода или данныхсмарт-контракта
.

Это может ощущаться контринтуитивным: почему ваш кошелёк находится в состоянии неинициализирован
(uninit
), если вы его уже создали? Тут есть важный нюанс: разница между приложением кошелька
и смарт-контрактом кошелька
:
-
Приложение коше лька
— это ваш офчейн-клиент длясмарт-контракта кошелька
. -
Смарт-контракт кошелька
— это непосредственно контракт. Поскольку его развёртывание в блокчейне требует оплаты комиссий, большинствоприложений кошелька
не делают этого, пока вы не получите средства на этот адрес и попробуете осуществить первую транзакцию.
Active
: Это состояние развёрнутогосмарт-контракта
с положительным балансом. Для развёртывания нашего кошелька давайте отправим первую транзакцию особо важному человеку — самому себе — и посмотрим, как она выглядит вблокчейне
. Откройте меню отправки в вашем приложении кошелька и переведите немного средств на свой собственный адрес, который вы скопировали ранее. В эксплорере наш контракт должен начать выглядеть примерно так:

Есть также четвёртое состояние «frozen». Оно означает, что расходы смарт-контракта на хранение данных превысили его баланс. В этом состоянии смарт-контракт не может осуществлять никакие операции.
Теперь наш контракт кошелька развёрнут и готов к использованию. Давайте изучим, что показывает пользовательский интерфейс:
Раздел с метаданными
- Address: Уникальный идентификатор вашего аккаунта (например,
QQB...1g6VdFEg
). - Balance: Текущее количество TON.
- Type: Версия контракта (например,
wallet_v51r1
— определяется автоматически по коду). - State: Состояние адреса. Есть четыре варианта:
nonexisting
,uninit
,active
иfrozen
.
Навигационны е панели
- History/Transactions: Показывает недавнюю активность (например, получение средств или развёртывание контракта).
- Code: Показывает код смарт-контракта в «сыром» виде, скомпилированный из кода на языке
FunC
,Tolk
илиTact
. - Methods: Позволяет выполнять
get-методы
, чтобы получать данные из постоянного хранилища контракта.
Следующие шаги
- Теперь, когда вы освоились с приложением кошелька, сделайте следующий шаг. Создайте ещё один аккаунт, попробуйте переводить TON между ними, и посмотрите на получившиеся транзакции в эксплорере.
- Когда будете готовы, переходите к следующему шагу:
Чтение из сети