Ethereum Contract Analyzer

智能合约架构与结构分析。涵盖源代码解析、ABI 解码、存储布局分析及代理模式识别。适用于理解合约功能、继承关系及底层存储机制。

rayjun Updated

File contents

以太坊合约分析师 (Ethereum Contract Analyzer)

该技能旨在帮助用户快速理解任何智能合约的代码架构和执行模型。

使用场景 (When to Use)

  • 功能概览: “这个合约是干什么的?它有哪些外部函数?”
  • 架构识别: 识别合约是否使用了代理(Proxy)模式,并找到逻辑合约。
  • 标准合规性: 检查合约是否完全遵循 ERC20, ERC721 或 ERC4626。
  • 存储映射: 分析状态变量在 EVM 存储槽中的布局,以便进行离线读取。

边界与衔接 (Boundaries)

  • 如果需要寻找安全漏洞(如重入漏洞) -> 移交给 ethereum-security-auditor
  • 如果需要分析该合约处理的特定交易 -> 移交给 ethereum-transaction-inspector
  • 如果涉及该合约在 DeFi 协议中的经济角色 -> 移交给 ethereum-defi-analyzer

核心工作流 (Workflow)

  1. 源码定位: 从 Etherscan 或 GitHub 获取已验证的合约源码。
  2. 静态解析: 提取函数签名、修饰符、事件及存储变量。
  3. 代理穿透: 检查 EIP-1967 等槽位,识别逻辑合约地址。
  4. ABI 解码: 将原始 ABI JSON 转换为人类可读的接口定义。
  5. 存储建模: 映射变量到 Slots,并处理 Slot 内部的变量打包(Packing)。

推荐工具

  • cast interface: 快速从合约地址生成 Solidity 接口。
  • cast storage: 读取底层存储槽位。

输出格式

  • 合约类型: 逻辑合约、代理合约、库、接口。
  • 核心逻辑: 合约的主要业务逻辑概括。
  • 关键接口: 包含函数名、参数、权限及状态更改属性。
  • 存储拓扑: 关键状态变量所在的 Slots。
  • 继承链: 清晰的父合约层级图。

rayjun/ethereum-skills/tree/main/skills/ethereum-contract-analyzer commit bb9d122614

Frequently asked questions

npx skillmds@latest add rayjun/ethereum-contract-analyzer