zeeplin
官方文档:https://docs.openzeppelin.com/contracts/5.x 配置向导:https://wizard.openzeppelin.com/
npm instal --save-dev @openzeppelin/hardhat-upgrades
透明升级合约 boxv1 boxv2
npx hardhat run .\test\BoxV2.js --network localhost
5v1里 Owner Roles
npm instal --save-dev @openzeppelin/contracts-upgradeable
npm install @openzeppelin/contracts-upgradeable @openzeppelin/contracts
openzeeplin 的一些库的用法
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts/utils/Context.sol";