openzeppelin-contracts 界面及安装教程
界面与使用入口
| 界面 | 作用 | 适合场景 |
|---|---|---|
| 官方文档 | 查看 ERC-20、ERC-721、权限控制、可升级合约等模块说明 | 查阅 API、导入路径、最佳实践 |
| Contracts Wizard | 选择合约类型、功能开关和参数,自动生成 Solidity 合约代码 | 快速生成代币、治理、权限合约 |
| Remix IDE | 在线编写、编译、部署合约,并可导入 OpenZeppelin 模板 | 学习、测试、快速调试 |
| Defender / 开源工具 | 部署、运维、监控、自动化交易 | 生产环境合约管理 |
需要特别注意:OpenZeppelin Defender SaaS 平台已于 2026 年 7 月 1 日停止服务,相关能力正在迁移到开源的 OpenZeppelin Relayer 和 OpenZeppelin Monitor。
安装方式
1. npm / Hardhat 安装(最常用)
npm install @openzeppelin/contracts生产环境建议使用已审计的 latest 版本,不要直接复制网上代码。
# 指定稳定版本,避免意外升级
npm install @openzeppelin/contracts@5.6.12. Foundry 安装
forge install OpenZeppelin/openzeppelin-contracts然后在 foundry.toml 或 remappings.txt 中添加:
remappings = [
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
]3. Remix 中使用
Remix 不需要本地安装,可以直接:
- 打开 remix.ethereum.org
- 新建 Solidity 文件
- 在代码中导入:
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";快速示例:发行一个 ERC-20 代币
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor() ERC20("MyToken", "MTK") {
_mint(msg.sender, 1000 * 10 ** decimals());
}
}编译通过后,可在 Remix 的 Deploy & Run Transactions 面板中选择环境,例如 JavaScript VM 或 Injected Provider - MetaMask,然后点击 Deploy 部署合约。
推荐工作流
- 新手入门:用 Contracts Wizard 生成合约,再粘贴到 Remix 编译部署。
- 正式项目:用 Hardhat 或 Foundry 创建项目,通过 npm / forge 安装依赖。
- 生产运维:不再使用已下线的 Defender SaaS,可改用开源的 OpenZeppelin Relayer 和 OpenZeppelin Monitor 做自动化交易与链上监控。