项目简介
本项目是基于Hardhat开发环境构建的留言板dApp,主要用于展示Hardhat在智能合约开发、测试以及部署方面的完整流程。前端部分运用了H5、ethers库以及MetaMask钱包,开发平台为Windows10。用户能够在前端页面上进行留言操作,也可以删除自己之前发布的留言。
项目的主要特性和功能
- 留言功能:允许任何用户在留言板上留下自己的信息。
- 删除留言功能:用户可以删除自己在留言板上的历史留言。
安装使用步骤
假设用户已经下载了本项目的源码文件,请按照以下步骤进行操作:
环境搭建
- 项目初始化:在终端中执行
npm init --yes
。 - 安装依赖:依次执行
npm install hardhat chai @nomicfoundation/hardhat-toolbox -D
和npm install ethers
。 - 添加Hardhat配置文件:在终端运行
hardhat
,选择Create an empty hardhat.config.js
来创建一个空的配置文件,然后编辑hardhat.config.js
以引入hardhat工具库。
开发、编译智能合约
- 创建智能合约文件:在项目目录下创建
contracts
目录,并在其中创建MessageBoard.sol
文件。 - 编写智能合约:在
MessageBoard.sol
文件中实现留言和删除留言的功能。 - 编译智能合约:在终端执行
hardhat compile
。
合约测试
- 创建测试文件:在项目目录下创建
test
目录,并创建MessageBoard.test.js
文件。 - 编写测试代码:在
MessageBoard.test.js
文件中编写相应的测试代码。 - 运行测试:在终端执行
hardhat test
,测试前需确保智能合约已经编译完成,若代码有更改则需要重新编译。
部署合约
- 创建部署脚本:在项目目录下创建
scripts
目录,并创建deploy.js
文件。 - 编写部署代码:在
deploy.js
文件中编写部署合约的代码。 - 部署合约:
- 若部署到Hardhat内置网络,在终端执行
hardhat run scripts/deploy.js
。 - 若需要持续测试,先执行
hardhat node
,然后另起一个终端执行hardhat run scripts/deploy.js --network localhost
。 - 若要部署到其他远程测试网络或主网,请参考官方文档。
- 若部署到Hardhat内置网络,在终端执行
前端开发
- 创建前端目录:在项目目录下创建
frontend
目录。 - 编写前端代码:使用H5、ethers和MetaMask与智能合约进行交互,实现留言和删除留言的功能。
运行项目
- 启动Hardhat开发环境:在终端执行
hardhat node
。 - 部署智能合约:另开一个终端执行
hardhat run scripts/deploy.js --network localhost
。 - 开发前端页面:在前端目录中编写前端代码,实现与智能合约的交互。
- 运行前端页面:在浏览器中打开前端页面,即可进行留言和删除留言的操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】