by TON Foundation & Codeforces
The goal of the contestants is to provide a code that matches the description.
Each task except Task 4 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).
Task 4 provides two sets of tests - basic and advanced:
- Basic tests - offer 3 points in case the solution is passing all the tests
- Advanced tests - offer 0 or 4 to 5 points (4 for all tests passed plus "gas-score" from 0 to 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.
-
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.
-
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. -
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.
-
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 |
- 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!
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.
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.
The pool of $20,000 in Toncoin will be split equally between the top 100 participants of the leaderboard after plagiarising participants are removed. Every participant on the leaderboard will receive a SBT (participation soulbound token).
Prize pool distribution:
- $7,000 in TON - The top 15 of participants
- $7,000 in TON - 16-45th participant
- $6,000 in TON - 46-100th participant
New to blockchain or TON development? Start here:
Master the FunC language with these must-have materials:
Find ready-to-use smart contract examples here.
For FunC Challenge we recommend cloning current repository and follow the submission guide described above.
While we recommend blueprint for working with FunC contracts, toncli is also a viable option for compiling and local testing.
For a more streamlined coding experience, consider using IDE plugins for syntax highlighting.
Stay in the loop and engage with other developers:
npx func-js ./contracts/imports/stdlib.fc ./contracts/task1.fc --fift ./1.ft
npx func-js ./contracts/imports/stdlib.fc ./descriptions/3-example/counter-v1.fc --boc-base64 ./1.bc