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