openzeppelin与solidity版本对应关系

Posted sanqima

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openzeppelin与solidity版本对应关系相关的知识,希望对你有一定的参考价值。

    OpenZeppelin是构建在 EVM 之上的开源智能合约开发工具,让开发者可以安全地开发和管理智能合约和 Dapp。OpenZeppelin 使用以太坊智能合约语言 Solidity 进行构建,并支持所有 EVM 和 eWASM 的跨平台移植。使用OpenZeppelin库,可以让智能合约更加安全、更加简洁。

1、版本对应关系

    OpenZeppelin与Solidity的版本是一一对应的,依次如下:

序号SolidityOpenZeppelin
10.5.x2.3.x ~ 2.5.x
20.6.x3.0.x ~ 3.1.x 或 3.4
30.7.x3.2.x ~ 3.3.x 或 3.4
40.8.x4.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

// 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合约

以上是关于openzeppelin与solidity版本对应关系的主要内容,如果未能解决你的问题,请参考以下文章

openzeppelin-solidity

openzeppelin批量测试Solidity合约

openzeppelin-solidity/contracts的代码学习——payment

区块链入门教程openzeppelin库详解

MoonBeamSolidity开发工具以及对应使用示例

OpenZeppelin是什么