openzeppelin与solidity版本对应关系
September 4th, 2023

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 的智能合约为例,如下:

// 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);
    }
}
Subscribe to rick@layer2
Receive the latest updates directly to your inbox.
Nft graphic
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from rick@layer2

Skeleton

Skeleton

Skeleton