概述
高级语言 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 虚拟机 字节码。
进一步地,这个字节码(实际上是 cell树,就像 TON 区块链中的任何其他数据一样)可以用于在区块链中创建智能合约,或者可以在 TVM 的本地实例上运行。
FunC 语言指南
FunC 文档
编译器
用 JS 编译
开始开发和编译智能合约最方便快捷的方式是使用 Blueprint 框架。更多信息请参阅 Blueprint 部分。
npm create ton@latest
使用原始二进制文件编译
如果您想在本地使用原生 TON 编译器 FunC,您需要在机器上设置二进制文件。可以从以下位置下载 FunC 编译器二进制文件,适用于 Windows、MacOS(Intel/M1)和 Ubuntu:
信息
同时,您始终可以从源代码构建二进制文件,如: FunC 编译器源代码(阅读如何从源代码编译 FunC 编译器)。