一、审计环境搭建
本部分主要介绍智能合约审计过程中所需的开发工具与部署环境配置,涵盖编辑器选择及合约的编译、部署流程。
1.1 编辑器:Remix
Remix 是一个功能强大的在线 Solidity 集成开发环境(IDE),专为以太坊智能合约设计,支持从编写、调试到部署的一站式操作。
官方文档地址:
https://remix-ide.readthedocs.io/zh-cn/latest/
安装包下载链接:
https://github.com/remix-project-org/remix-desktop
1.2 合约部署流程
(1)合约编译
使用 Solidity Compiler 对合约进行编译,确保语法正确并完成错误检查。只有通过编译的合约才能进入下一步部署阶段。
(2)部署与交易执行
在 Remix 的 "DEPLOY & RUN TRANSACTIONS" 模块中,可选择不同的运行环境进行合约部署和交互测试。
可用环境说明:
Remix VM (Prague)
- 基于最新的 EVM 规则——Prague 升级版本构建的浏览器内模拟区块链环境
- 无需连接外部钱包、RPC 节点或实际网络
- 所有账户和余额均由系统自动生成
- 刷新页面即可重置整个链状态
- 适用于测试新引入的 EIP 提案和最新 EVM 变更
- 具备最高执行速度,安全性强,使用便捷
Remix VM (Cancun)
- 基于 Cancun 主网升级版本的 EVM 执行环境
- Cancun 为 Prague 升级前的上一代主网标准
- 某些新的操作码或 EIP 特性尚未包含在该版本中
- 可用于验证合约在旧版 EVM 中的兼容性表现
- 适合模拟仍处于 Cancun 阶段的 Layer2 网络或主网分支
Remix VM Mainnet Fork
- 将真实的以太坊主网“分叉”为本地虚拟链,实现本地化执行但共享主网状态
- 通过 Remix 提供的 RPC 接口读取真实区块数据
- 允许自由操作且不产生费用,也不会影响真实链上资产
- 可直接调用主网上已部署的真实合约
- 常用于攻击场景模拟、Swap 测试等安全验证
- 适用于 DeFi 协议策略测试,如 Uniswap、AAVE 等协议交互
Browser Wallet(浏览器钱包连接)
连接本地浏览器插件钱包,实现与真实网络交互:
- MetaMask
- Rabby
- OKX Wallet
- Coinbase Wallet Extension
前提条件:
- 已在浏览器中安装对应钱包扩展程序
- 钱包当前连接的区块链网络需与目标部署链一致
- 若部署至主网,则需要账户持有真实 ETH 用于支付 Gas 费用
WalletConnect(移动端钱包连接)
通过扫码方式连接手机端钱包,支持以下应用:
- imToken
- MetaMask Mobile
- Trust Wallet
- OKX Mobile
- OneKey
Custom External Http Provider
手动输入 RPC URL 连接任何链
Dev Hardhat Provider
自动连接你本地的 Hardhat 网络,相当于 Remix + Hardhat 联动
npx hardhat node
Dev Foundry Provider
自动连接本地 Foundry 的 anvil 节点
ACCOUNT(账户设置)
指定用于发送交易的以太坊账户,包括合约部署和调用需消耗 Gas 的函数。该账户负责签名及支付 Gas 费用。
DEPLOY(合约部署)
若合约含有构造函数参数,需在此处输入相应值。配置完成后点击 transact 按钮,即可在选定环境中完成本地部署。部署成功后,可在下方“Deployed Contracts”区域对合约方法进行调用测试。
Publish to IPFS
将智能合约的编译产物上传至 IPFS 分布式存储网络,实现内容永久可访问。IPFS 是一种去中心化的文件系统,类似于 GitHub,但具有不可篡改和永久存储特性(通过哈希定位内容)。
| 文件类型 | 说明 |
|---|---|
| 合约源代码 (.sol) | 必须上传的核心内容 |
| ABI (Application Binary Interface) | DApp 与智能合约交互所必需的接口定义 |
| Bytecode | 编译生成的字节码,用于链上部署 |
| metadata.json | 包含编译信息、solc 编译器版本、依赖库引用等内容 |
| 所有 import 的依赖文件 | 例如 OpenZeppelin 库文件等外部依赖项 |
Deployed Contracts(已部署合约)
展示当前环境中已部署的合约实例,支持直接调用其公开方法进行功能测试与交互。
Transactions recorded(交易记录)
自动记录在当前 Remix VM 环境下执行的所有交易行为,包括合约部署、函数调用和 transact 操作。用户可查看历史交易,并支持重新执行或导出为自动化脚本用于后续复现。


雷达卡


京公网安备 11010802022788号







