openzeppelin与solidity版本对应关系

    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.4.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.4系列,适用于sol v0.8.x;

同时,OpenZeppelin v3.4兼容sol v0.6 和sol v0.7。

    这里以在Remix里,编写sol v0.6.x+openzeppelin v3.0.0 的智能合约为例,如下:
//myweth.sol

// SPDX-License-Identifier: MIT
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合约

猜你喜欢

转载自blog.csdn.net/sanqima/article/details/120388853
今日推荐