Skip to content

tact-lang/tact

Repository files navigation

Tact Language Compiler

A next-gen smart contract language for TON focused on efficiency and simplicity.

Key Resources

Community

Getting started

The easiest way to start is to use our project template and read getting started.

git clone https://github.com/tact-lang/tact-template

Installation

TACT is distributed via NPM, to install tact into your project, you need:

yarn add @tact-lang/compiler

TACT doesn't have development environment dependencies and has everything built in. TACT's stdlib also distributed together with a compiler.

For Visual Studio Code syntax support, please download the tact extension.

10 Commandments of Tact

We have formed a large-scale vision for the philosophy of Tact to make sure that community has something to refer to.

  1. Familiar syntax Tact features modern post-C syntax familiar to developers who know TypeScript, Swift, Kotlin and Rust.

  2. First-class data structures Tact makes it easy to declare, decode and encode data structures according to their TL-B schemas.

  3. Safe contract interfaces and ABI Tact offers strong compile-time checks for contract interfaces, typed addresses and lets describe messages natively in a subset of TL-B.

  4. Message dispatch Tact offers a convenient yet flexible way to declare, receive and send messages between contracts.

  5. Plaintext commands Tact offers an innovative way for securely sending commands to the contracts by the users using plaintext commands that are parsed on-chain.

  6. Composition of contracts Tact offers traits to extract commonly used behaviors into reusable and verified components.

  7. Statically bounded iterators Tact offers convenient iterators and arrays are bounded and do not hurt scalability of the contracts.

  8. Batteries-included standard library Tact comes with a rich standard library that offers data handling functions and standardized behaviors.

  9. Interactive Tact comes with a live playground, explorer and easy to use deployment tools.

  10. Verifiable Tact produces deterministic builds. Compiler helps analyze gas usage and storage costs.

License

MIT