Chainlink Local 是一个可安装的依赖项。它提供了一个工具(Chainlink Local Simulator),开发人员可以将其导入到他们的 Foundry 或 Hardhat 或 Remix 项目中。该工具在本地运行 Chainlink CCIP,这意味着开发人员可以在本地环境中快速探索、原型化和迭代链下 CCIP dApp,并仅在准备好在实时环境中进行测试时才转移到测试网。
该包公开了一组智能合约和脚本,您可以使用它们在本地 Remix、Hardhat 或 Anvil (Foundry) 开发节点上构建、部署和执行 CCIP 令牌传输和任意消息。 Chainlink Local 还支持分叉节点。
使用 Chainlink Local 测试的用户合约无需任何修改即可部署到测试网络(假设网络特定合约地址(例如路由器合约和 LINK 代币地址)通过构造函数传入)。
要查看更详细的文档和更多示例,请访问 Chainlink 本地文档。
通过运行以下命令安装软件包:
forge install smartcontractkit/chainlink-local
然后在remappings.txt
或foundry.toml
文件中将重新映射设置为: @chainlink/local/=lib/chainlink-local/
npm install @chainlink/local
导入“https://github.com/smartcontractkit/chainlink-local/blob/main/src/ccip/CCIPLocalSimulator.sol”;
安装 CCIP Local 后,您就可以开始在项目中使用它了。
在测试或脚本中导入CCIPLocalSimulator.sol
,例如:
// test/demo.t.solpragma Solidity ^0.8.19;从“forge-std/Test.sol”导入{Test, console2};从“@chainlink/local/src”导入{IRouterClient, WETH9, LinkToken, BurnMintERC677Helper} /ccip/CCIPLocalSimulator.sol";导入 {CCIPLocalSimulator} "@chainlink/local/src/ccip/CCIPLocalSimulator.sol";合约演示正在测试 { CCIPLocalSimulator 公共 ccipLocalSimulator; 函数 setUp() 公共 { ccipLocalSimulator = new CCIPLocalSimulator(); (uint64 链选择器, IRouterClient 源路由器, IRouterClient 目的地路由器, WETH9 包裹着原生, 链克linkToken, BurnMintERC677Helper ccipBnM, BurnMintERC677Helper ccipLnM) = ccipLocalSimulator.configuration(); ccipLocalSimulator.requestLinkFromFaucet(接收者, 金额); } }
要查看详细文档和更多示例,请访问 Chainlink 本地文档。
笔记
本教程提供了一个使用 Chainlink 系统、产品或服务的教育示例,旨在演示如何与 Chainlink 的系统、产品和服务进行交互,以将它们集成到您自己的系统、产品和服务中。该模板按“原样”和“可用”提供,不提供任何形式的保证,未经审核,并且可能缺少关键检查或错误处理,以使系统、产品或服务的使用更加清晰。在未完成您自己的审核和最佳实践应用之前,请勿在生产环境中使用此示例中的代码。 Chainlink 实验室、Chainlink 基金会和 Chainlink 节点运营商均不对因代码错误而生成的意外输出负责。