Общие сведения
Эта страница переведена сообществом на русский язык, но нуждается в улучшен иях. Если вы хотите принять участие в переводе свяжитесь с @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 из исходников).