Pigeon 开源项目使用手册
1. 项目目录结构及介绍
Pigeon
是一个专为跨链应用开发设计的开源测试工具包,它模拟了跨链协议交易(如Arbitary Message Bridges)以接近主网环境的方式,简化了开发者在多网络环境下进行单元测试的复杂度。以下是其主要的目录结构概览:
- github/workflows # GitHub Actions 的工作流定义
- lib # 核心库代码所在,包含了所有辅助合约和主要逻辑
- src # 源码目录,存放核心业务逻辑
- test # 测试案例,提供了使用Pigeon的示例
- utils # 辅助工具或脚本目录,可能包括环境设置相关
- example # 示例环境或配置实例
- gas-snapshot # 可能用于捕获或处理gas费用数据的脚本
- gitignore # Git忽略文件
- gitmodules # 子模块配置
- LICENSE # 许可证文件
- README.md # 项目说明文档
- foundry # Foundry相关的配置
- toml # Foundry的配置文件
重点目录解析:
- lib: 包含了可以被导入到测试文件中的辅助合约,是实现跨链模拟的核心。
- test: 提供实际应用案例,帮助新用户理解如何使用这些合约进行测试。
- utils: 包含了设置环境变量的说明以及执行特定操作(如gas估算脚本)所需的文件。
2. 项目的启动文件介绍
在 Pigeon
中,并没有传统意义上的“启动文件”,因为这是一个库,旨在与现有的开发框架如Foundry集成来使用。不过,为了开始使用Pigeon,主要步骤是从安装开始,随后在你的测试套件中引入并使用其提供的合约。具体到“启动”动作,你会在你的智能合约测试文件中通过Foundry的命令启动测试环境,例如,使用 forge test
命令来运行测试。
3. 项目的配置文件介绍
配置方面,虽然项目本身依赖外部环境(如Ethereum节点的RPC URL),但具体的配置不是通过单一的配置文件完成的。重要的是设置适当的环境变量,尤其是在本地开发时。你需要创建或修改根目录下的 .env
文件,加入必要的环境变量:
ETH_MAINNET_RPC_URL=your_rpc_url
POLYGON_MAINNET_RPC_URL=optional_polygon_rpc
ENABLE_ESTIMATES=true_or_false
此外,在进行Gas费用估算功能时,还需要在项目特定的路径下通过npm安装依赖并编译,这涉及到一些脚本或配置(如 foundry.toml
和 utils
目录内的脚本),但并非传统意义上独立存在的“配置文件”。
对于集成到Foundry或者其他区块链开发环境,配置更多地体现在如何将项目集成进你的项目结构和配置中,比如调整remappings.txt
以正确指向Pigeon库。
总之,Pigeon
的配置与使用更多依赖于环境变量的设定以及与现有测试框架的适配,而非单一的项目内配置文件。