链路链接函数包
此软件包包含与链链函数合同互动所需的昏迷
处理更新合同
当合同被更改时,ABI和构建必须更新这个Gauntlet软件包.
先决条件:
第一,确保 创建 已安装
在您本地环境中设置以下环境变量, 告诉 Foundry 使用函数配置 :
export FOUNDRY_PROFILE=functions
要更新 ABI :
- 从 @ 链条链接 仓库转到
/contracts。 。 。 . - 运行
forge build - 在文件夹中
./contracts/foundry-artifacts/<contract name>/<contract name>.json会有文物 查找相关合同并复制ABI.
重新创造 FunctionsContracts.build.json 文件 :
- 从 @ 链条链接 仓库转到
/contracts。 。 。 . - 单位
foundry.toml页:1[profile.functions]临时更新test仅指
test = 'src/v0.8/functions/tests/v1_X/testhelpers/FunctionsClientUpgradeHelper.sol'
- 运行 :
forge build --build-info --build-info-path=./info
- 您将会注意到一个新的文件夹
./contracts/info。验证它是否看起来符合预期,然后将内容复制到FunctionsContracts.build.json
* 如果使用 Linux,请去掉 .Linux.gcc 字段结尾后缀"solcLongVersion"
使用本地建筑
在测试新代码或部署到中程 DON 时,您可能想要修改并通过Gauntlet 软件包使用这些代码.
这样做的适当方式是:
- 做实验性改变
- 在此跳出版本
gauntlet-evm是因为@chainlink/evm-gauntlet-functions软件包.json - 运行
yarn build从gauntlet-evm仓库 - 现在
gauntlet仓库链接本地软件包版本npm link [path to gauntlet-evm's @chainlink/evm-gauntlet-functions package.json] - 变动
gauntlet' package.json 依赖于被撞入的本地版本gauntlet-evm是因为@chainlink/evm-gauntlet-functions软件包.json - 运行
yarn install从gauntlet仓库 - 运行
yarn build从gauntlet仓库 - 为了核实
gauntlet存储器node_modules应该有@chainlink/evm-gauntlet-functions使用本地设置和运行的版本npm ls -g显示本地软件包版本 - 现在软件包被链接到任何热的更改
gauntlet-evm可以通过运行重新装入yarn build内gauntlet-evm然后再次进入gauntlet