b bianchina.xyz
bianchina.xyz · TIMES
All The News, Wisdom & Knowledge
VOL. MMXXVI · bianchina.xyz · openzeppelinshi-yong-tu-wen-jiao-cheng
特别报道 · SPECIAL REPORT

OpenZeppelin 使用图文教程:每一步操作都看得见

以图文教程的方式讲解 OpenZeppelin 使用流程,覆盖环境搭建、合约编写、部署、verify、监控全过程,结合 [[Binance]] 智能链项目给出可对照操作的实操路径。

发布于 2026-05-24T06:12:23.557829+00:00更新于 2026-05-24T17:52:40.997869+00:00
OpenZeppelin使用图文教程 - OpenZeppelin 使用图文教程:每一步操作都看得见
图:本报记者摄 · 关于「OpenZeppelin 使用图文教程:每一步操作都看得见」的视觉记录

图文教程的价值

图文教程相比纯文字文档更直观,相比视频教程又方便随时停顿、回看。这份 OpenZeppelin 使用图文教程把每一步操作的预期结果用文字描述出来,方便读者照着自己的终端逐项比对,避免遗漏。

面向 bn 智能链与以太坊主网的项目团队,照着这份教程走一遍,可以建立对 OpenZeppelin 的完整工作流认知。

第一步:环境搭建

安装 Node.js 20 LTS 与 pnpm,新建项目目录,执行 pnpm initpnpm add hardhatpnpm add @openzeppelin/contractspnpm add @openzeppelin/contracts-upgradeablepnpm add @openzeppelin/hardhat-upgrades。运行 npx hardhat init 选择 TypeScript 模板。

第二步:合约编写

contracts/ 目录下创建 MyToken.sol,继承 ERC20UpgradeableAccessControlUpgradeablePausableUpgradeable。在 initialize 函数里调用各父合约的 __init,设置名称、符号与初始 admin。终端运行 npx hardhat compile,预期输出 Compiled 1 Solidity file successfully。

第三步:编写部署脚本

scripts/deploy.ts 中使用 upgrades.deployProxy 部署可升级代理。脚本里打印代理地址与实现地址,方便后续 verify。运行 npx hardhat run scripts/deploy.ts --network sepolia,预期看到「Proxy deployed at 0x...」的提示。

第四步:合约 verify

安装 @nomicfoundation/hardhat-verify 插件,配置 etherscan 与 bscscan 的 API Key。运行 npx hardhat verify --network sepolia 0x...,预期看到「Successfully verified contract」。在浏览器源码标签页能看到带高亮的 Solidity 代码。

必安 智能链上 verify 时使用对应的 bscscan key,流程与以太坊一致。

第五步:调用合约接口

在 BscScan 或 Etherscan 上使用 Read/Write 接口直接调用合约函数。例如调用 grantRole(MINTER_ROLE, address) 给某地址分配 MINTER 角色。每次调用都会触发对应事件,可以在 Events 标签页看到详细记录。

第六步:监控接入

注册 OpenZeppelin Defender,把刚部署的合约导入 Defender Watcher。配置 Notification,比如「Mint 事件超过 1000 万」时邮件告警。预期在邮箱收到测试告警。

第七步:与 CEX 资金通道对接

B安 等中心化交易所出金到运营地址,再调用合约的 addLiquidity 等初始化函数。每一步交易 hash 都记录在内部运维 wiki 上,便于后续审计。

第八步:上线公告

把合约地址、版本、权限持有人、verify 链接整理成上线公告,发布在项目官网与社区。在 BN 等 CEX 关注的渠道同步信息,方便用户找到正确的合约入口。

按这份 OpenZeppelin 使用图文教程走一遍,团队可以建立起一套完整、可复用的工程流程。