配置
tact.config.json
是 Tact 项目的入口点。它是一个 JSON 文件,包含所有项目和编译器参数的列表。
本页列出了 模式中的所有配置选项。 请查看右侧的目录,以方便浏览。
$schema
编辑器可使用JSON 模式 文件提供自动完成和悬停提示:configSchema.json。
只需在配置文件顶部添加 $schema
字段即可:
项目
带有相应编译选项的 Tact 项目列表。 每个 .tact
文件都代表自己的 Tact 项目。
name
name
是项目名称。所有生成的文件都以此为前缀。
在 Blueprint 中,“name “指合同本身的名称。
path
项目 Tact 文件的路径。 每个项目只能指定一个 Tact 文件。
在 Blueprint 中,path
被 wrappers/ContractName.compile.ts
中的 target
字段取代。
output
output
是放置所有生成文件的目录路径。
在 蓝图 中,不使用 output
,所有生成的文件始终放在 build/ProjectName/
中。
options
项目的编译选项。
在 Blueprint 中,除非在wrappers/ContractName.compile.ts
中进行修改,否则它们将作为默认设置运行。
debug
默认为 false
。
debug: true
. 启用合约的调试输出。这对调试非常有用。启用此合约将报告它是在调试模式下使用 supported_interfaces
方法编译的。
masterchain
默认为 false
。
如果设置为 true
,则启用 masterchain 支持。
external
默认为 false
。
如果设置为 true
,则启用对 external 消息接收器的支持。
ipfsAbiGetter
默认为 false
。
如果设置为 true
,则可生成带有描述合同 ABI 的 IPFS 链接的getter。
interfacesGetter
默认为 false
。
如果设置为 true
,则可生成包含合约所提供接口列表的 [getter](/book/contracts#getter-functions)。
Experimental
将来可能会取消的试验性选项。 谨慎使用!
inline
默认为 false
。
inline: true
. 启用合同中所有函数的内联。这可以减少gas的使用,但代价是需要更大的合约。
mode
项目的编译模式。 有效值为
Value | Description |
---|---|
"full" | (默认) 运行整个编译流水线,并生成 FunC 代码、BoC 和各种实用程序文件,包括 TypeScript 的封装器。 |
"fullWithDecompilation" | 运行整个编译管道,如 “full” ,并以 BoC 格式反编译生成的二进制代码。 |
"funcOnly" | 只输出中间 FunC 代码,阻止进一步编译。 |
"checkOnly" | 仅执行语法和类型检查,阻止进一步编译。 |
在 Blueprint 中,“mode “始终设置为"full"
,且不可覆盖。