Tact
Высокоуровневый язык смарт-контрактов TON со строгой типизацией и синтаксисом, похожим на TypeScript. Снижает порог входа для разработчиков из EVM-экосистемы.
Синонимы: tact lang, tact language, язык tact
Tact — современный язык программирования контрактов под TVM. В отличие от FunC, он скрывает большую часть низкоуровневой механики (ручная сериализация cell, работа со стеком) за синтаксисом, более привычным разработчикам из мира Solidity и TypeScript.
Что предлагает
- Строгая статическая типизация с автоматическим выводом типов.
- Структуры и сообщения как first-class сущности. Объявил
message Transfer { amount: Int; to: Address; }— компилятор сам сгенерирует код сериализации/десериализации в cell. - Получатели сообщений в стиле акторной модели:
receive(msg: Transfer) { ... }— наглядно отражает асинхронную природу TON. - Стандартная библиотека с готовыми реализациями jetton, NFT, ownable, deployable-контрактов.
Когда выбирать Tact
Tact хорош для:
- MVP и быстрых прототипов. Скорость разработки в 2-3 раза выше, чем на FunC.
- Контрактов средней сложности — NFT-коллекции, простые DAO, утилитарные jetton-ы, лотереи.
- Команд, у которых нет опыта с TVM. Концепции акторов, типизированные сообщения и понятные ошибки компилятора снижают порог входа.
FunC всё ещё предпочтителен для критической инфраструктуры с большим TVL, где каждая единица газа имеет значение и нужна максимально предсказуемая стоимость исполнения.
Цена абстракции
Сгенерированный из Tact байткод обычно тяжелее ручного FunC на 20-50%, что напрямую влияет на стоимость деплоя и комиссии. Для пользовательских контрактов это малозаметно — речь о долях цента на транзакцию. Для высокочастотных сценариев с миллионами вызовов стоит считать.
Инструменты
- Tact Compiler — официальный компилятор, доступен через npm как
@tact-lang/compiler. - Blueprint — тот же фреймворк, что и для FunC, поддерживает Tact из коробки.
- VS Code extension — подсветка, автодополнение, интеграция с компилятором.
- Tact Playground — онлайн-редактор для быстрых экспериментов.
Документация — docs.tact-lang.org. Tact активно развивается под кураторством TON Studio: в 2025 году добавлена поддержка traits, generic-функций, inline-deployment.