Перейти к основному содержимому

Общие сведения

warning

Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @alexgton.

FunC, язык высокого уровня, используется для программирования смарт-контрактов в TON.

FunC — это специализированный, C-подобный, статически типизированный язык. Вот простой пример метода отправки денег, написанного на FunC:

() send_money(slice address, int amount) impure inline {
var msg = begin_cell()
.store_uint(0x10, 6) ;; nobounce
.store_slice(address)
.store_coins(amount)
.end_cell();

send_raw_message(msg, 64);
}

Программы FunC компилируются в код ассемблера Fift, который генерирует соответствующий байт-код для виртуальной машины TON.

этот байт-код (по сути, дерево ячеек, как и любые другие данные в блокчейне TON) затем можно использовать для создания смарт-контрактов в блокчейне или запустить на локальном экземпляре TVM.

Книга рецептов FunC

Документация FunC

Компилятор

Компиляция с помощью JS

Самый удобный и быстрый способ начать разработку и компиляцию смарт-контрактов — использовать фреймворк Blueprint. Подробнее читайте в разделе Blueprint.

npm create ton@latest

Компиляция с использованием оригинальных двоичных файлов

Если вы хотите использовать собственный компилятор TON, FunC, локально, вам необходимо настроить двоичные файлы на вашем компьютере. Двоичные файлы компилятора FunC для Windows, macOS (Intel/M1) и Ubuntu можно загрузить с:

к сведению

В качестве альтернативы вы можете создать двоичные файлы из исходного кода, например, исходный код компилятора FunC (прочитайте как скомпилировать компилятор FunC из исходников).

Курс TON: FunC

Курс по блокчейну TON - это полное руководство по разработке на блокчейне TON.

Модуль 4 полностью охватывает язык FunC и разработку смарт-контрактов.

Проверьте курс по блокчейну TON

CHN

RU

Учебники

совет для начинающих

Лучшее место для начала разработки с использованием FunC: ВВЕДЕНИЕ

Дополнительные материалы, любезно предоставленные экспертами сообщества:

Конкурсы

Вы также можете изучить предыдущие конкурсы в учебных целях.

Вы также можете изучить предыдущие конкурсы в учебных целях.

Наследие конкурсов

Описание конкурсаЗадачиРешения
TSC #5 (декабрь, 2023)Задачи
TSC #4 (сентябрь, 2023)ЗадачиРешения
TSC #3 (декабрь, 2022)ЗадачиРешения
TSC #2 (июль, 2022)ЗадачиРешения
TSC #1 (март, 2022)ЗадачиРешения

Примеры смарт-контрактов

Стандартные базовые смарт-контракты, такие как кошельки, выборщики (которые управляют валидацией в TON), кошельки с несколькими подписями и т. д., могут служить ссылками при изучении.

Список изменений

История обновлений funC.