Anchor.toml 配置
Anchor 工作区配置参考文档
provider (必填)
用于所有命令的钱包和集群。
示例:
scripts (测试时必填)
可以通过 anchor run <script> 运行的脚本。test 脚本由 anchor test 执行。
示例:
features
resolution
这告诉 IDL 支持账户解析。默认为 true。
示例:
workspace
types
添加一个目录,当运行 anchor build 时,<idl>.ts 文件将被复制到该目录。这在你希望将该文件保存在版本控制中时很有用,比如在前端使用它时,前端可能无法访问 Anchor 生成的 target 目录。
示例:
members
设置本地工作区中所有程序的路径——相对于 Anchor.toml 的位置,即与可以由 anchor CLI 编译的每个程序相关联的 Cargo.toml 清单的路径。对于使用标准 Anchor 工作流的程序,可以省略此项。对于未使用 Anchor 编写但仍希望发布的程序,应添加此项。
示例:
exclude
与 workspace.members 相反。
示例:
programs
示例:
工作区中程序的地址。
programs.localnet 用于在 localnet 上进行测试时,可以在 genesis 时通过 solana-test-validator 的 --bpf-program 选项加载程序。
test
startup_wait
增加 Anchor 等待 solana-test-validator 启动的时间。例如,如果你正在克隆许多账户(参见 test.validator.clone),这会增加验证器的启动时间,这时就很有用。
示例:
genesis
使得 anchor test 等命令启动 solana-test-validator 时,已加载给定程序。
示例
upgradeable
使用 --upgradeable-program 部署要测试的程序。这使得可以测试某些指令只能由程序的升级权限执行。初始升级权限将设置为 provider.wallet。
如果未指定或明确设置为 false,则测试程序将使用 --bpf-program 部署,这会禁用对其的升级。
示例:
test.validator
这些选项会以相同的名称传递到 solana-test-validator cli 的选项中(参见 solana-test-validator --help),在 anchor test 等命令中使用。
test.validator.clone
使用此选项从 test.validator.clone.url 集群克隆账户到测试集群。如果 address 指向一个由“BPF 可升级加载程序”拥有的程序,Anchor(>= 0.23.0)会自动为你克隆程序的数据账户。
示例:
test.validator.account
使用此选项从 .json 文件上传账户。
示例:
toolchain
覆盖工作区中的工具链数据,类似于 rust-toolchain.toml。