Общие сведения
Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @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: ВВЕДЕНИЕ
Дополнительные материалы, любезно предоставленные экспертами сообщества:
-
🚩 Задача 5: Создание пользовательского интерфейса для взаимодействия с контрактом за 5 минут
-
Func & Blueprint от @MarcoDaTr0p0je
-
TON Hello World: пошаговое руководство по написанию вашего первого смарт-контракта
-
TON Hello World: Пошаговое руководство по тестированию вашего первого смарт-контракта
-
10 уроков FunC от @romanovichim, с использованием blueprint
-
10 уроков FunC (RU) от @romanovichim, с использованием blueprint
-
Тест по FunC от Вадима — подходит для самопроверки. Займет 10–15 минут. Вопросы в основном о FunС с несколькими общими вопросами о TON
-
Тест по FunC (RU) от Вадима — тест по FunC на русском языке
Конкурсы
Вы также можете изучить предыдущие конкурсы в учебных целях.
Вы также можете изучить предыдущие конкурсы в учебных целях.
Наследие конкурсов
Описание конкурса | Задачи | Решения |
---|---|---|
TSC #5 (декабрь, 2023) | Задачи | |
TSC #4 (сентябрь, 2023) | Задачи | Решения |
TSC #3 (декабрь, 2022) | Задачи | Решения |
TSC #2 (июль, 2022) | З адачи | Решения |
TSC #1 (март, 2022) | Задачи | Решения |
Примеры смарт-контрактов
Стандартные базовые смарт-контракты, такие как кошельки, выборщики (которые управляют валидацией в TON), кошельки с несколькими подписями и т. д., могут служить ссылками при изучении.