? ? 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合約
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301736.html
標籤:其他
上一篇:QT6安裝與使用
下一篇:軟體的測驗
