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
。