> ## Content Index
> Fetch the complete content index at: https://admin.kod.ru/llms.txt
> Use this file to discover other available public pages before exploring further.

# Telegram впервые говорит про TON — мессенджер запускает конкурс
- URL: https://admin.kod.ru/telegram-contests-ton-sep-2019/
- Published: 2019-09-24T16:56:20.000Z
- Updated: 2019-09-24T18:35:57.000Z
- Author: Влад Войтенко
- Tags: Новости, Интернет, Технологии

Мессенджер братьев Дуровых [запускает](https://tlg.name/contest/102?ref=admin.kod.ru) новый конкурс по программированию. Участники должны разработать смарт-контракты для блокчейн-платформы.

![](https://admin.kod.ru/content/images/2019/09/--------------38-.png)

Задача конкурса простая: участники должны создать один или несколько смарт-контрактов, предложить улучшения для FunC или виртуальной машины TON, а также найти проблемы и предложить исправления для TON Testnet. Призовой фонд за выполнение этих трёх заданий составит порядка $200 000-400 000\. Конкурс будет завершён 15 октября в 23:00 по центральноевропейскому времени. [Подробности](https://tlg.name/contest/103?ref=admin.kod.ru) доступны на официальном канале Telegram Contests.

### Подробности

Цель нового конкурса состоит в том, чтобы реализовать хотя бы один из смарт-контрактов, перечисленных в профайле конкурса, для цепочки блоков TON с использованием инструментов, предоставленных в [дистрибутиве](https://github.com/ton-blockchain/ton?ref=admin.kod.ru) цепочки. Некоторые примеры смарт-контрактов находятся в подкаталоге *«crypto/smartcont»* в дереве исходного кода. В большинстве случаев исходный код смарт-контракта FunC находится в файле с суффиксом .*fc.* 

Другой файл с этим же именем с суффиксом *.fif* автоматически генерируется из исходного файла, вызывая двоичный файл *\`func\`* с соответствующими параметрами командной строки. Автоматически сгенерированный файл содержит инструкции по сборке виртуальной машины, которые при интерпретации ассемблером Fift генерируют код смарт-контракта в двоичном виде. Участники конкурса могут писать код смарт-контракта прямо в ассемблере Fift; однако таким образом могут быть разумно реализованы и протестированы лишь самые простые смарт-контракты, поэтому команда братьев Дуровых ожидает, что участники отдадут предпочтение компилятору FunC.

Помимо написания кода смарт-контракта участникам потребуется реализовать некоторые сценарии, которые позволяют пользователю создавать, правильно настраивать и контролировать новые экземпляры смарт-контракта. Сейчас отсутствует документация по FunC, однако доступно [описание](https://test.ton.org/fiftbase.pdf?ref=admin.kod.ru) Fift. Список всех инструкций TVM можно найти в «Приложении A» к [документации](https://test.ton.org/tvm.pdf?ref=admin.kod.ru) TVM. Для использования какой-либо инструкции из источника смарт-контракта необходимо проверить, определена ли подходящая встроенная функция в *«\`crypto/smartcont/stdlib.fc»* или *«\`crypto/func/builtins.cpp\`»*. В случае отсутствия участники могут добавить собственный «встроенный ассемблер» в начало кода смарт-контракта.