如何使用OpenZeppelin开发智能合约
本文不是讲如何使用Solidity语言编写可约,而是如何使用框架来开发合约。关于Solidity语言的语法、关键字等通过其他渠道学习。Node..js开发环境准备等也不具体展开。
首先创建一个项目:
mkdir learn && cd learn
npm init -y
比较知名的以太坊开发框架是Hardhat,一般配合ethers.js使用。另一个比较知名的开发框架是Truffle,一般配合web3.js使用。每个框架都有自己的优势。
首先在我们的项目目录安装Hardhat
npm install –save-dev hardhat
安装执行完成以后,可以使用npx hardhat命令创建Hardhat配置文件hardhat.config.js
第一个合约
创建一个目录contracts用于存储Solidity源码文件,这个目录和其他语言的src目录差不多。
创建一个名称为Box的简易智能合约,它可以存储一个值然后被检索到。
创建文件contracts/Box.sol。
// contracts/Box.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Box {
uint256 private _value;
// Emitted when the stored value changes
event ValueChanged(uint256 value);
// Stores a new value in the contract
function store(uint256 value) public {