К основному содержанию
T TON Adoption
← Словарь
NODE/03 · Term

Tolk

Новый высокоуровневый язык смарт-контрактов TON от TON Studio. Преемник FunC — синтаксически проще, типобезопаснее, ABI-совместим.

Синонимы: tolk lang, tolk language, язык tolk

Tolk — современный язык контрактов под TVM, разрабатываемый TON Studio как технический преемник FunC. Идея проста: дать FunC привычный синтаксис, систему типов уровня TypeScript и нормальные сообщения как сущности первого класса, не теряя контроля над байткодом.

Tolk против FunC

FunC — мощный, но крайне минималистичный язык: ручная сериализация cell, S-выражения, отсутствие пользовательских типов. Tolk сохраняет ту же модель исполнения, но добавляет:

  • Алгебраические типы и структурыstruct Transfer { amount: int; to: address; } вместо парсинга slice вручную.
  • Pattern matching на сообщениях — компилятор сам генерирует диспатч по opcode.
  • Безопасные импорты и модули — без хрупких #include из FunC.
  • Совместимость с FunC-библиотеками на уровне TVM-инструкций.

При этом сгенерированный байткод по плотности близок к FunC, в отличие от Tact, где абстракции дороже.

Tolk против Tact

Tact ставит на удобство и быстрый старт, Tolk — на производительность и контроль. Условно:

АспектTactTolk
СинтаксисTypeScript-подобныйML/Rust-подобный
Стоимость газавыше базовойблизко к FunC
Аудитопригодностьсредняявысокая
Зрелостьстабильнаяв активной разработке

Когда выбирать

Tolk имеет смысл для команд, которые раньше писали на FunC и хотят сохранить близкий уровень контроля, но избавиться от ручной сериализации и хрупких include. Для критической DeFi-инфраструктуры Tolk быстро становится разумной альтернативой FunC.

Документация — docs.ton.org/v3/documentation/smart-contracts/tolk. Компилятор и Blueprint-интеграция доступны через npm.

См. также