hardhat开发dapp初始化操作

这篇具有很好参考价值的文章主要介绍了hardhat开发dapp初始化操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

入门的话可以通过Remix开发工具完成solidity项目的编写、编译、部署等操作。专业点的开发工具有 TruffleHardhat,先看一看hardhat的简介:

Hardhat is a development environment for Ethereum software. It consists of different components for editing, compiling, debugging and deploying your smart contracts and dApps, all of which work together to create a complete development environment.

开发工具的话,常用的还有一个本地模拟节点的Ganache(Ganache属于truffle),因为链上包括主网和测试网调试比较慢,可以先在本地测试。

常用开发模式:

  1. 初级:Metamask + Remix + Ganache
  2. 进阶:Truffle / Hardhat

Hardhat基本操作

npm (npx) version 8.5.5
node version 16.13.1

新手第一次如下:

  1. 创建新文件夹,初始化一个npm项目:npm init -y,此时目录中会生成package.json文件。
  2. 安装hardhat : npm install --save-dev hardhat
  3. 初始化hardhat: npx hardhat ,会出现终端选项自行选择。

如果安装过hardhat,以上不用执行,直接运行 npx hardhat init

  1. 以下是常用的包:
    npm install --save-dev hardhat@^2.9.3 @nomiclabs/hardhat-waffle@^2.0.0 ethereum-waffle@^3.0.0 chai@^4.2.0 @nomiclabs/hardhat-ethers@^2.0.0 ethers@^5.0.0
    npm install --save dotenv@^16.0.0
    npm install --save @openzeppelin/contracts

安装以上包的package.json文件如下:

{
  "name": "yourdappname",
  "version": "version",
  "description": "",
  "main": "yourmain.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@nomiclabs/hardhat-ethers": "^2.0.0",
    "@nomiclabs/hardhat-waffle": "^2.0.0",
    "chai": "^4.2.0",
    "ethereum-waffle": "^3.0.0",
    "ethers": "^5.0.0",
    "hardhat": "^2.9.3"
  },
  "dependencies": {
    "dotenv": "^16.0.0",
    "@openzeppelin/contracts": "^4.7.3"
  }
}

生成目录结构如下:

.
├── README.md
├── contracts
├── hardhat.config.js
├── node_modules
├── .env 手动创建,用于放置privateKey,需安装dotenv包
├── package-lock.json
├── package.json
├── scripts
└── test
  • contracts - 编写合约
  • scripts - 编写js代码
  • hardhat.config.js - 配置solidity版本等信息

通过js代码连接以太坊有两个框架 Web3jsEthers.js,一般要通过http或者wss代理去连接,比如通过alchemy或者infura等节点供应商提供的api去连接。

  1. npx hardhat compile 编译solidity
  2. npx hardhat test 测试tests目录下js文件
  3. npx hardhat run或者npx hardhat run scripts/deploy.ts 运行js ,默认在本地网络运行。注意指定网络:npx hardhat run scripts/deploy.js --network mumbai

参考:Road to WEB3 - buymeacoffee文章来源地址https://www.toymoban.com/news/detail-406317.html

到了这里,关于hardhat开发dapp初始化操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Golang入门教程】Go语言变量的初始化

    强烈推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站: 人工智能 推荐一个个人工作,日常中比较常用的人工智能工具,无需魔法,忍不住分享一下给大家。点击跳转到网站: 人工智能工具 引言 在Go语言中,变量

    2024年04月17日
    浏览(79)
  • 线性表的基本操作(初始化、创建、增、删、查)

    目录 顺序表 顺序表的定义和初始化 顺序表的基本操作 1.求表长 2.判空操作 3.创建顺序表 4.输出操作 5.插入操作 6.删除操作 7.按位查找操作 8.按值查找操作 单链表 单链表的定义 单链表的初始化 求表长 判空操作  尾插法建立单链表 头插法建立单链表 输出操作 前插操作 后插

    2024年02月08日
    浏览(45)
  • 【Linux的开胃小菜】Linux系统安装后初始化配置操作

    常规设定: 1.首先使用国内阿里云的yum源(默认是国外的yum源仓库 中间会经过很多路由器到国内所速度慢,效率不高,所以换成国内的) 把原来官方默认的源先不要删除!做个备份; 或者直接再写个repo源;再清除重新生成新的缓存 2.安装常用的软件工具包 3.关闭SELinux ? 4

    2024年02月13日
    浏览(52)
  • 顺序表的基本操作(初始化,增,删,查,改等等)

    1.线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使 用的数据结构, 常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的, 线性

    2024年02月03日
    浏览(42)
  • 【uniapp】小程序开发,初始化项目vscode

    使用uniapp开发小程序可以实现一份代码打包成多个不同平台的小程序。 这里使用uniapp官方的项目模板作为示例,采用vue3+ts开发,并使用vscode作为开发工具 1、通过以下命令创建模板项目 参考 官方说明 创建以 typescript 开发的工程(如命令行创建失败,请直接访问 gitee 下载模

    2024年02月09日
    浏览(59)
  • 数据结构-----栈(栈的初始化、建立、入栈、出栈、遍历、清空等操作)

    目录 前言 栈 1.定义 2.栈的特点 3.栈的储存方式 3.1数组栈 3.2链栈  4.栈的基本操作(C语言) 4.1初始化   4.2判断是否满栈 4.3判断空栈  4.4 入栈 4.5 出栈 4.6获取栈顶元素  4.7遍历栈  4.8清空栈  完整代码示例         大家好呀!今天我们开始学习新的线性表结构----栈,前面

    2024年02月06日
    浏览(35)
  • 【Pytorch】学习记录分享1——Tensor张量初始化与基本操作

    1. 基础资料汇总 资料汇总 pytroch中文版本教程 PyTorch入门教程 B站强推!2023公认最通俗易懂的【PyTorch】教程,200集付费课程(附代码)人工智能_机器 视频 1.PyTorch简介 2.PyTorch环境搭建 basic: python numpy pandas pytroch theory: study mlp cnn transform rnn model: AlexNet VGG ResNet Yolo SSD 2. Tensor张量

    2024年02月04日
    浏览(50)
  • 自动化构建平台(五)之Jenkins初始化配置以及插件安装操作

    上一篇我们介绍了Jenkins的安装和登录等相关操作,今天给大家介绍登录Jenkins后的一些初始化配置和插件安装的操作。因为如果要使用Jenkins来进行代码构建,必须先安装相关的插件和配置一些系统环境变量才行。 这里我列举了才代码构建阶段Jenkins需要的主要插件,包含:

    2024年03月27日
    浏览(63)
  • WPS二次开发系列:WPS SDK初始化

    本文将详细介绍WPS SDK初始化,帮您能够更好的在项目中接入WPS SDK实现自己的应用和WPS应用进行通信交互。 向WPS官方发送邮件申请,邮件格式如下 邮件模板: 发起人 :有需要申请接入WPS移动端的企业或者个人 邮件主题: XXX公司XXX项目---WPS Android端 SDK二次开发集成申请 邮件

    2024年04月16日
    浏览(39)
  • 4.【CPP】入门(初始化列表||explicit||static||友元||静态成员变量/函数)

    我们知道在c++11中才能在成员对象声明时初始化,像下面这样。 注意:构造函数不是初始化,而是赋初始值。那么在c++11以前该怎么初始化成员变量呢? 每个成员变量在初始化列表中只能出现一次(初始化只能初始化一次) 类中包含以下成员,必须放在初始化列表位置进行初始

    2024年01月20日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包