Skip to content

tact-lang/tact

Folders and files

NameName
Last commit message
Last commit date
Jun 26, 2024
Jun 26, 2024
Jun 3, 2024
Apr 17, 2023
Jun 14, 2024
Jul 4, 2024
Jul 20, 2024
Jun 21, 2024
Apr 3, 2024
Jun 12, 2024
Jul 4, 2024
Apr 3, 2024
Jul 18, 2024
Apr 3, 2024
Jul 4, 2024
Feb 18, 2023
Jun 26, 2024
Jun 12, 2024
Jun 25, 2024
Jul 3, 2024
Apr 13, 2024
Apr 3, 2024
Jun 12, 2024
Jul 14, 2024
Jul 3, 2024
Jun 12, 2024
Jul 4, 2024
Jul 14, 2024

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 you 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