GithubHelp home page GithubHelp logo

tact-challenge's Introduction

πŸ† Welcome to Tact Challenge

by TON Foundation

πŸ“ Tasks

  1. task1 - Counter contract
  2. task2 - Proxy contract
  3. task3 - Dex contract
  4. task4 - NFT locker contract
  5. task5 - NFT random swap

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.

πŸ“… Solution submission guide and terms

  1. Registration Process: Before you begin, make sure to go through the registration process via the @smartchallengebot. Your solutions will not be accepted if you are not properly registered.

  2. Create a Private GitHub Repository: Clone this repository and set it as your own private GitHub repo. Ensuring the visibility configs are set to "private" is crucial to safeguarding your solution.

  3. Set Your Token: Utilize the token provided to you during registration in Telegram bot and set it as a secret variable called USER_TOKEN in your private repository. You can learn more about setting secret variables in the official GitHub documentation.

  4. Submit Your Solution: When you are ready to submit your solution, simply push your code into your private repository. The code will be sent to the task review server, and GitHub actions will display the status of your submission.

  5. Solution Evaluation: If at least one of your solutions works well, your submission will be counted. Feel free to push solutions for more tasks; GitHub actions will run your code against tests and count successful submissions. To see a detailed report on your submission, proceed to GitHub Actions tab and you will see a similar report along with possible errors if present:

Task ID Compiled Tests Passed Points Gas Used Compilation Error
1 ❌ ❌ 0 N/A Error Details
2 βœ… ❌ 0/6 0 0
3 βœ… βœ… 10/10 5.127 491,235,717
4 ❌ ❌ 0 N/A Error Details
5 ❌ ❌ 0 N/A Error Details
  1. Check Your Points: To check your solution points, review the logs of the GitHub action for your latest commit. Additionally, you can find your solution points in the menu button inside of the Telegram bot.

Best of luck with your submissions!

‼️ 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.

πŸ† Scoring and Prizes

Winners of the contest will receive prizes denominated in Toncoin, the native cryptocurrency of TON blockchain, which is also used as a resource for contract execution.

Each task can bring you a max of 6 points. You get 5 points for solving a task. You get an extra point if you solve it without using any gas.

Minimum amount of points to be eligible for the prize is 6 points.

Prizes:

  • The top 15% of participants share $10,000 in TON
  • The middle 30% of participants share $10,000 in TON
  • The bottom 55% of participants share $10,000 in TON

Each prize pool is shared equally among the participants in that group. In total, we're giving away $30,000 in TON prizes.

The total prize might change depending on the number of participants.

πŸš€ 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.

πŸ› οΈ Tools for Tact Compilation and Testing

For Tact Challenge

For Tact Challenge we recommend cloning current repository and follow the submission guide described above.

To quickstart your own Tact projects

We recommend using tact-template for a smooth Tact development experience:

  1. Clone the template repo
  2. yarn build to build contracts
  3. yarn test to test contracts
  4. yarn deploy to deploy contracts

🌍 TON Developers Community Chats

Stay in the loop and engage with other developers:

tact-challenge's People

Contributors

markokhman avatar sepezho avatar skydev0h avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.