如何使用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 {