TON Smart Challenge

Contest for FunC developers with 22,022 TON total prize fund.

The TON Smart Challenge winners are listed below.

Goal of the contest

Blockchain contracts development is an art because code optimisation can literally save money for the contract owners. Contract execution literally costs money and this is a brilliant opportunity for the developers to exercise algorithms knowledge and software development skills to the fullest extent.

We are holding a contest aimed at optimisation of 5 smart contracts written in the FunC language native for The Open Network blockchain. Goal of the contest is to optimize contract execution cost preserving functionality and business logic.

Contest format

Participants are kindly invited to study 5 suggested contracts with some practical functions. Original code was explicitly enriched with bugs and modified to have intended significant overhead in terms of the execution. Participants are expected to modify initial source or to rewrite contracts from scratch to comply with the original business logic and to pass all the existing unit tests. Business logic for each contract and examples of IO will be provided on this page once the competition starts.
Task 1: Counter

Let's start.

This simple counter smart contract stores a total - 64-bit unsigned integer in its data (it is guaranteed that storage data contains total).

When receiving an internal incoming message, contract takes a 32-bit unsigned integer from message body, adds it to the total and saves the result in contract data.

Get-method get_total should returns actual total value stored in contract data.

If the body of the incoming message is less than 32 bits then it should throw ANY error.

Read more
Task 2: Proxy
Task 3: Address memorizer
Task 4: Build a hashmap storage
Task 5: Shared wallet

Prizes & honours

Winners of the contest will get prizes nominated in Toncoin — cryptocurrency native to TON blockchain which is also used as a resource for contract execution. Total prize fund of the contest is 22,022 TON.
4,000 TON
1st place
2,000 TON
2nd place
1,500 TON
3rd place
1,000 TON
4-6 place
500 TON
7-10 place
5,777 TON
Other members*

*Remaining 5,777 TON will be split among other participants, who solved at least one task. However if there will be less than 30 total participants, all the other N participants will get 100 TON each, and remaining 5,777 - N*100 TON will be split among top-10.

Update 14 April 2022: participants from 11th to 127th places will get prizes in accordance to formula INT(SCORE * 3 + 300*EXP(-(RANK-11/14.309)). There are also bonuses beyond basic prize pool, which are described in the official contest chat.

Winners of the сontest

Place

Username

Score

Prize

1
pyAndr3w
27.4887
4000 + 250
2
nns2009 | Igor Konyakhin
27.4785
2000
3
robertoarmando
27.2842
1500
4
shift_minus
27.2704
1000
5
Arsenicum12
22.1057
1000 + 250
6
SpyCheese
22.0934
1000 + 250 + 250
7
@Monnttes
21.9838
500
8
tashonov
21.9234
500
9
amongoose
21.9125
500
10
XaBbl4
21.9099
500
11
nocriz
21.8255
365
12
Amin0x443
21.7936
345
13
xssnick
21.7672
326
14
rec00rsiff
21.7589
308
15
otov4its
21.7367
292 + 250
16
qwerty787788
21.7096
276
17
crazyministr
21.7085
262 + 250
18
konnod017
21.4138
248
19
alexosh
16.4059
220
20
NickNekilov
16.387
209
21
@egeorgievskii
16.3583
198
22
Astily
16.3549
188
23
BorMor
16.2928
178
24
siandreev
16.2904
169
25
Tunis
16.2837
161
26
Mhs
16.2563
153
27
yaberemennaotshaurmi
16.2392
146
28
YellowCataclysm
16.1781
139 + 250
29
maxrr_
16.0981
133
30
Jonowo
10.8861
112
31
Гавриил Шестаков
10.8838
106
32
pscvn
10.8738
101 + 250
33
zw
10.8495
97
34
xxffwwoqqzz
10.8429
92
35
witer33
10.8249
88
36
noeljacob
10.7828
84
37
elisalech
10.7478
80
38
StarVeil
10.7454
77
39
vtamara
10.7219
74
40
n1kfedorov
10.7144
71
41
hoffmansday
10.7081
68
42
avevad
10.7016
66
43
dimimishka
10.6657
64
44
young_ton_explorer
10.6331
61
45
Kod
10.6321
59
46
thesmartnik
5.6057
42
47
bombus
5.422
40
48
Antikov
5.3835
38
48
denull
5.3835
38
48
anonymous
5.3835
38
51
zubec
5.3779
34
52
ali_farzanrad
5.3776
33
53
Tindarid
5.3721
32
53
kskirtsova
5.3721
32
55
tyoma r
5.3618
29
56
stardust
5.3463
28
56
ontawho
5.3463
28
56
Tim Pavlov
5.3463
28
59
ser398
5.3458
26
60
Jakarden
5.3409
25
61
the-na-guy
5.3407
25
61
araifr
5.3407
25
61
xGaze
5.3407
25
61
sulatskovalex
5.3407
25
61
psydvl
5.3407
25
61
Nadezhda Pastukhova
5.3407
25
61
BakaWaka
5.3407
25
61
Viktor
5.3407
25
61
Olga888sss
5.3407
25
61
@thekiba
5.3407
25
61
30501
5.3407
25
61
Praveen
5.3407
25
61
kirosc
5.3407
25
61
simonvar
5.3407
25
61
mr.abramenko
5.3407
25
61
maxim
5.3407
25
61
D2Phoenix
5.3407
25
61
Lurking Hydra
5.3407
25
61
optimist3232
5.3407
25
61
ruha02
5.3407
25
61
@math_is
5.3407
25
61
Veniamin Vynohradov
5.3407
25
61
Vyacheslav Pastukhov
5.3407
25
61
Iulka
5.3407
25
61
godrain
5.3407
25
61
rookieman
5.3407
25
61
uravnitel
5.3407
25
61
mdub
5.3407
25
61
JeffreyLC
5.3407
25
61
JuliaFedotova
5.3407
25
61
Michael Morkovka
5.3407
25
61
xylyl
5.3407
25
61
neko
5.3407
25
61
wbogatyrewa
5.3407
25
61
Valek
5.3407
25
61
insecret
5.3407
25
61
arthurson
5.3407
25
61
full_stack_d3v
5.3407
25
61
AlyonR
5.3407
25
61
Arno
5.3407
25
61
Ivan Romanovich
5.3407
25
61
Konstantin Klyuchnikov
5.3407
25
103
cuttlas
5.3381
16
103
dima4ka
5.3381
16
103
jannis756
5.3381
16
103
hashida
5.3381
16
103
72df77ec-62af-458f-bdd5-39d99d496702
5.3381
16
103
evilnemesis
5.3381
16
103
Rifat
5.3381
16
103
dimared
5.3381
16
103
Fortin
5.3381
16
103
Djjanks
5.3381
16
103
antonmeep
5.3381
16
103
Tigr
5.3381
16
103
Golovanov399
5.3381
16
103
Lorogie4990
5.3381
16
103
Lyova
5.3381
16
103
hitasp
5.3381
16
119
vazirani
5.3363
16
120
MDario
5.3314
16
121
tonewbie123
5.331
16
122
AntonIX
5.3097
16
123
kristevalex
5.2703
15
123
george
5.2703
15
125
NeoMent
5.2701
15
Bonuses for the best solution of #2, #3, #4, and #5 tasks were awarded to crazyministr, SpyCheese, Arsenicum12, and pyAndr3w correspondingly. Bonuses for the correct solution in the case of non-standard address for task #3 were awarded to SpyCheese, pscvn, otov4its, and YellowCataclysm.

Join the Community

Join community of developers interested in building on TON, from general FunC programming language chat group to TON Contests channel.