使用hardhat开发以太坊智能合约-搭建环境
本文作者:全干攻城尸[1]
本系列课程: 第一节:使用 hardhat 开发以太坊智能合约-搭建环境[2] 第二节:使用 hardhat 开发以太坊智能合约-测试合约[3] 第三节:使用 hardhat 开发以太坊智能合约-发布合约[4] 第四节:使用 hardhat 开发以太坊智能合约-验证合约[5]
在我们实际开发智能合约的时候,以往的开发一般都是使用 remix 在线编译器,它的好处是即开即用,本地不用安装相关的依赖环境,但是弊端也是显而易见的:难以测试、无法直接验证合约等等;
hardhat 的出现就可以帮助我们轻松的进行合约开发、测试、部署、验证等操作,下面我们一起开始 hardhat 的学习吧
目标:通过本章程的学习,可以掌握基本的 hardhat 使用
本教程需要您的主机安装 vscode、以及 node 环境
1、安装 hardhat(hardhat 官网[6])
首先我们创建一个文件夹,用于本次项目的工程目录,进入工程目录下,然后在命令提示符里输入:
npm install --save-dev hardhat
耐心等等安装完成,当出现下图,代表第一步安装完成:
2、创建工程:
npx hardhat
出现下面提示:
这里可以通过键盘上面的上、下键进行选择创建一个什么样的项目,是 js、ts 还是一个空模板,这里我以 js 项目为例,按回车键进行创建
创建项目的时候,会有几个创建信息提示,直接全部默认回车键即可
我们这里已经创建好项目了,注意图片中一行字提示:you need to install……,我们需要把下面的这句命令复制,然后执行一下:
npm install --save-dev "hardhat@^2.11.2" "@nomicfoundation/hardhat-toolbox@^2.0.0"
现在我们把依赖的包已经安装完成了,让我们继续下一步
3、项目结构
在 vscode 里打开工程目录
我们可以看到一个清晰的项目结构,下面简单讲解一下各个目录的作用
1)contracts
该目录用于存放合约文件,我们后面编写的合约都会存放在该目录下,hardhat的操作命令也会默认读取该目录下的合约文件,如果需要更改合约存放目录,请访问官方查看具体更改方法
2)scripts
该目录用于存放脚本文件,我们编写部署脚本的时候会存放到该目录下,同contracts一样,可以进行修改,修改方法详见官网
3)test
该目录用于存放测试脚本文件,我们编写的测试合约的方法会存放到该目录下,同contracts一样,可以进行修改,修改方法详见官网
4)hardhat.config.js
该文件用于项目的配置使用,如区块链网络配置、合约编译版本配置等等,后续在讲解合约发布的时候会具体讲解里面的区块链网络配置
通过本章学习,我们使用 hardhat 搭建起了一个基本的工程项目,在下一章节里,我会带领大家使用 hardhat 一起开发、部署合约,感兴趣的小伙伴关注一下吧~
参考资料
[1]
全干攻城尸: https://learnblockchain.cn/people/5344
[2]
使用hardhat开发以太坊智能合约-搭建环境: https://learnblockchain.cn/article/4885
[3]
使用hardhat开发以太坊智能合约-测试合约: https://learnblockchain.cn/article/4930
[4]
使用hardhat开发以太坊智能合约-发布合约: https://learnblockchain.cn/article/4929
[5]
使用hardhat开发以太坊智能合约-验证合约: https://learnblockchain.cn/article/4931
[6]
hardhat官网: https://hardhat.org/
相关文章
- 今日元宇宙| 前安卓一哥HTC宣布28日发布旗下收款元宇宙手机,Meta 中止开发双摄像头智能手表或因缺钱
- 智能合约DAPP开发,DAPP智能合约系统开发实现技术原理及代码部署
- 浅谈BSC链智能合约DAPP系统开发功能逻辑
- 徘徊行为AI智能分析识别系统
- BSC链智能合约质押挖矿模式系统开发
- 基于stm32的智能小车(远程控制、避障、循迹)
- Solidity智能合约开发语言讲解及原理说明
- AI智能绘画NFT艺术品铸造系统开发智能合约编写技术流程
- DAPP智能合约质押借贷挖矿理财系统开发案例详情
- 工业企业诊断和智能工厂规划
- 佛萨奇2.0系统丨佛萨奇2.0智能合约系统开发上线版丨佛萨奇2.0开发现成源码功能
- MetaForce佛萨奇开发案例,MetaForce佛萨奇2.0智能合约系统开发流程及源码
- IntelliJ IDEA 2023 for Mac 完美兼容版:最智能的 Java 集成开发环境
- GPT-4要革程序员的命?智能开发的理想与现实 | 爱分析调研
- NFT质押借贷交易平台开发智能合约系统搭建
- 康宁发布智能汽车增强实境(智能挡风玻璃)抬头显示系统:可显示导航和车速等
- mOracle ASM:管理数据库存储的智能方式(oracleas)
- 理财魔方CEO袁雨来:做强「智能投顾」要跨过哪些“坑”?
- 智能自行车? 给我钱,我去买电动车
- Linux蓝牙模块:探索无线智能世界(linux蓝牙模块)
- 阿里云MySQL,注入智能新生代(ali mysql)
- 无界银行、AI入口、细分化趋势,一文看透3.0智能金融时代 | 干货
- 华米发布Amazfit GTR系列新品:智能手表的市场回归or黄汪的理想主义
- 智能云科朱志浩:5G无法带给制造业的,如何用边缘计算来实现?