🏆 Welcome to Tact Challenge

by TON Foundation

📝 Tasks

Each task has two parts:

  • 📋 A comment with a description of what the smart contract should do.
  • 💻 The code of the smart contract with one or more functions marked as testable.

The goal of the contestants is to provide a code that matches the description.

Each task may give the contestant either 0 or 5 to 6 score points: 5 for all tests passed plus "gas-score" from 0 to 1 (0 for "infinite" gas consumption, 1 for 0 gas consumption, dependence is inverse exponent).

Each TVM execution is limited to 100,000,000 (hundred million) gas units. This limit is high enough that it only rules out infinite loops. Any practical solution, regardless of how (un)optimized it is, will fit.

We ask participants not to change the signature (number, order, and types of arguments and result) of testable functions for us to be able to evaluate their submission.

‼️ Important rules:

  • It's forbidden to use any FunC/Fift code inside of submitted Tact solutions. Participants who will have FunC/Fift code in their submissions will be disqualified.
  • Please don't share your solution's code with anybody. If someone's submission will be suspected of using your code - both participants will be disqualified. Repeated case will cause lifetime ban from TON Smart Challenges.

🚀 Getting Started with TON

New to blockchain or TON development? Start here:

📘 Essential Tact Resources

Master the Tact language with these must-have materials:

Find ready-to-use smart contract examples here. Explore more about Tact in the awesome-tact repository.