Learn all about programming in ⚡ Tact

Tact banner

Tact is a new programming language for TON Blockchain that is focused on efficiency and simplicity. It is designed to be easy to learn and use, and to be a good fit for smart contracts. Tact is a statically typed language with a simple syntax and a powerful type system.

Let's start!

Ensure that Node.js LTS is installed and available

To check it, run node --version — it should show you the version 18.0.0 or later.

Run the following command to create a new project with the simple counter contract

npm create ton -- simple-counter --type tact-counter --contractName SimpleCounter

That's it! Your first contract project is written and compiled already!

Go check it out by moving into the relevant directory — cd simple-counter/contracts.

To re-compile, use commands in the scripts section of package.json in the root of this newly created project.

To deploy, refer to the documentation of Blueprint (opens in a new tab) — this is a tool we've used to create and compile your first simple counter contract in Tact. In fact, Blueprint can do much more than that: including tests, customizations and more.

Where to go next?

Have some blockchain knowledge already?

Check the following cheatsheets to quickly get started!

Want to know more?

For further guidance on compilation, testing and deployment see the Getting started guide.

For custom plugins for your favorite editor and other tooling see the Tools page.

Alternatively, take a look at the following broader sections:

  • Book helps you learn the language step-by-step
  • Language provides a complete references of everething there is in it
  • Finally, Ecosystem describes "what's out there" in the Tacts' and TONs' ecosystems

Feeling a bit uncomfortable?

If you ever get stuck, don't hesitate to reach out to Tact's flourishing community:

Good luck on your coding adventure with ⚡ Tact!