? ? OpenZeppelin是构建在 EVM 之上的开源智能合约开发工具,让开发者可以安全地开发和管理智能合约和 Dapp。OpenZeppelin 使用以太坊智能合约语言 Solidity 进行构建,并支持所有 EVM 和 eWASM 的跨平台移植。使用OpenZeppelin库,可以让智能合约更加安全、更加简洁。
1、版本对应关系
? ? OpenZeppelin与Solidity的版本是一一对应的,依次如下:
序号 | Solidity | OpenZeppelin |
---|
1 | 0.5.x | 2.3.x ~ 2.5.x | 2 | 0.6.x | 3.0.x ~ 3.1.x 或 3.4 | 3 | 0.7.x | 3.2.x ~ 3.3.x 或 3.4 | 4 | 0.8.x | 4.0.x ~ 4.3.x |
从上表可知: ? ? OpenZeppelin v2.x系列,适用于sol v0.5.x; ? ? OpenZeppelin v3.0~3.1系列,适用于sol v0.6.x; ? ? OpenZeppelin v3.2~3.3系列,适用于sol v0.7.x; ? ? OpenZeppelin v4.0~4.3系列,适用于sol v0.8.x;
同时,OpenZeppelin v3.4兼容sol v0.6 和sol v0.7。
? ? 这里以在Remix里,编写sol v0.6.x+openzeppelin v3.0.0 的智能合约为例,如下: //myweth.sol
pragma solidity ^0.6.0;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.0.0/contracts/token/ERC20/ERC20.sol";
contract WETH is ERC20 {
constructor() ERC20('Wrapped Ether', 'WETH') public {}
function mint() external payable {
_mint(msg.sender, msg.value);
}
function burn(uint amount) external {
msg.sender.transfer(amount);
_burn(msg.sender, amount);
}
}
参考地址:
? ? [1] OpenZeppelin v3.0.0 github官网 ? ? [2] 引用OpenZeppelin,来部署ERC20合约
|