子图 > 操作指南
4 分钟
与Cana CLI的智能合约分析
通过Cana CLI改进智能合约分析。它快速、高效,专门为EVM链设计。
概述
Cana CLI 是一个命令行工具,用于简化智能合约元数据分析,专门用于在多个EVM兼容的链条上进行子图开发。 它简化了检索合约细节、侦查代理人实现情况、提取ABIs等等。
主要特征
使用Cana CLI,您可以:
- 检测部署区块
- 验证源代码
- 提取ABI和事件签名
- 确定代理和执行合约
- 支持多种链
先决条件
在安装 Cana CLI 之前,请确保您:
- Node.js v16+
- npm v6+
- 区块浏览器 API 密钥
安装与设置
- 安装Cana CLI
使用 npm 在全球安装它:
1npm install -g contract-analyzer
- 配置Cana CLI
设置一个区块链环境用于分析:
1cana setup
在设置过程中,您将被提示提供所需的区块浏览器 API 密钥和区块浏览器端点URL。
设置后,Cana CLI 在 ”~/.contract-analyzer/config.json” 创建了一个配置文件。 这个文件存储你的区块浏览器API凭据、端点URL和链选择首选项供将来使用。
步骤:使用Cana CLI进行智能合约分析
1. 选择一个链
Cana CLI 支持多个EVM兼容的链。
对于添加的链运行此命令:
1cana chains
然后使用此命令选择一个链:
1cana chains --switch <chain>
一旦选择了一个链,随后的所有合约分析都将继续在这一链上进行。
2. 基本合约分析
运行以下命令来分析合约:
1cana analyze 0xContractAddress
或者
1cana -a 0xContractAddress
此命令使用清晰、有条理的格式在终端中获取和显示重要的合约信息。
3. 了解输出
Cana CLI 在成功检索详细合约数据后将结果编入终端和结构目录:
1contracts-analyzed/2└── ContractName_chainName_YYYY-MM-DD/3 ├── contract/ # Folder for individual contract files4 ├── abi.json # Contract ABI5 └── event-information.json # Event signatures and examples
这种格式便于参考合约元数据、事件签名和 ABI,以便于子图的开发。
4. 链管理
添加并管理链:
1cana setup # Add a new chain2cana chains # List configured chains3cana chains -s <chain> # Switch chains
故障排除
缺少数据?请确保合约地址是正确的,它已验证在区块浏览器上,并且您的 API 密钥具有所需的权限。
结论
通过Cana CLI,您可以有效地分析智能合约,提取关键的元数据,并轻松支持子图的开发。