openzeppelin与solidity版本对应关系
Posted sanqima
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.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版本对应关系的主要内容,如果未能解决你的问题,请参考以下文章