智能合约开发笔记-hardhat入门

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

Hardhat是什么?

Hardhat是一个编译、部署、测试和调试以太坊应用的开发环境。

怎么安装?

先安装nodejs环境;

然后打开命令行执行以下命令, 在项目目录pj_220509下安装hardhat环境:

mkdir  pj_220509

cd    pj_220509

npm install --save-dev hardhat

怎么创建项目?

pj_220509目录下, 执行命令 npx hardhat

D:\01steven-disk\blockchain\workspace\pj220509>npx hardhat
888    888                      888 888               888
888    888                      888 888               888
888    888                      888 888               888
8888888888  8888b.  888d888 .d88888 88888b.   8888b.  888888
888    888     "88b 888P"  d88" 888 888 "88b     "88b 888
888    888 .d888888 888    888  888 888  888 .d888888 888
888    888 888  888 888    Y88b 888 888  888 888  888 Y88b.
888    888 "Y888888 888     "Y88888 888  888 "Y888888  "Y888

Welcome to Hardhat v2.9.3

√ What do you want to do? · Create an advanced sample project
√ Hardhat project root: · D:\01steven-disk\blockchain\workspace\pj220509
√ Do you want to add a .gitignore? (Y/n) · y

You need to install these dependencies to run the sample project:
  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" "@nomiclabs/hardhat-etherscan@^3.0.0" "dotenv@^10.0.0" "eslint@^7.29.0" "eslint-config-prettier@^8.3.0" "eslint-config-standard@^16.0.3" "eslint-plugin-import@^2.23.4" "eslint-plugin-node@^11.1.0" "eslint-plugin-prettier@^3.4.0" "eslint-plugin-promise@^5.1.0" "hardhat-gas-reporter@^1.0.4" "prettier@^2.3.2" "prettier-plugin-solidity@^1.0.0-beta.13" "solhint@^3.3.6" "solidity-coverage@^0.7.16"

Project created
See the README.md file for some example tasks you can run.

 然后按提示安装相关的nodejs包,如下;完成安装;

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" "@nomiclabs/hardhat-etherscan@^3.0.0" "dotenv@^10.0.0" "eslint@^7.29.0" "eslint-config-prettier@^8.3.0" "eslint-config-standard@^16.0.3" "eslint-plugin-import@^2.23.4" "eslint-plugin-node@^11.1.0" "eslint-plugin-prettier@^3.4.0" "eslint-plugin-promise@^5.1.0" "hardhat-gas-reporter@^1.0.4" "prettier@^2.3.2" "prettier-plugin-solidity@^1.0.0-beta.13" "solhint@^3.3.6" "solidity-coverage@^0.7.16"

装完了有啥用?怎么用?

装完后呀,可以在本地启动一个区块链本地环境节点,厉害吧;

装完后,可以编译你的智能合约,测试你的智能合约,部署你的智能合约到本地网、测试网、或主网。

还有提供一个控制台,即命令窗口,你可以用来和区块链、智能合约 “对话聊天”

项目的目录结构长啥样?

下图即是项目的目录结构,主要目录简单说明下:

contracts        合约源文件目录

scripts             部署脚本、交互脚本存放目录

test                测试程序目录

artifacts        编译后生成的目录

hardhat.config.js        配置文件

智能合约开发笔记-hardhat入门

怎么启动一个本地的区块链环境节点?

在pj_220509目录下,在命令行中执行

D:\01steven-disk\blockchain\workspace\pj220509>npx hardhat node
Started HTTP and WebSocket JSON-RPC server at http://127.0.0.1:8545/

怎么编译合约?

在pj_220509目录下,在命令行中执行: npx hardhat compile

将会编译项目中所有的合约;

怎么测试合约?

在pj_220509目录下,在命令行中执行: npx hardhat test

将会执行test目录所有的测试程序;

怎么部署合约到区块链网络上去?

在scripts目录下,写好部署脚本 deploy.js , 然后使用以下命令执行脚本进行部署,

--network localhost 参数用来指定连接到哪个网,这里是本地环境;(即上面用 npx hardhat node启动的本地环境)文章来源地址https://www.toymoban.com/news/detail-410460.html

npx hardhat run  --network localhost  scripts/deploy.js
Greeter deployed to: 0x5FbDB2315678afecb367f032d93F642f64180aa3

到了这里,关于智能合约开发笔记-hardhat入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 基于Hardhat编写合约测试用例

    为智能合约编写自动化测试至关重要,毕竟写智能合约多多少少都会跟用户资金挂钩。 这里假设自己正在开发一个NFT交易平台,这个平台可以让用户售卖自己的NFT,包括ERC721和ERC1155,并且用户可以指定购买者需要支付指定的 ERC20 Token 购买。 我们先确定自己的测试功能和目标

    2024年02月02日
    浏览(45)
  • 如何使用hardhat进行合约uups模式升级

    id:BSN_2021 公众号:BSN研习社 背景: 在开发或维护solidity语言的智能合约时,经常会因为业务逻辑变动而变动合约内的逻辑,这就要考虑在不影响以前智能合约中已上链的数据的同时,修改或扩展新的业务逻辑,所以合约第一次开发时就需要考虑其本身支持可升级功能 目的:

    2024年02月16日
    浏览(36)
  • 8.区块链系列之hardhat框架部署合约(二)

    现在我们来实践hardhat部署合约中的其他更多技术要点 1. 代码方式验证合约 注册 https://etherscan.io/ , 如下图添加拷贝API_KEY 在.env文件中新增 ETHERSCAN_API_KEY hardhat.config.js中新增配置 覆盖deploy.js 验证合约 如果用的使用了clash代理的话开启Tun模式,否则可能会报Connect Timeout Error 2.

    2024年01月22日
    浏览(36)
  • 如何在vscode、remix中结合hardhat编译部署合约

    首先创建 npm 空项目,注意这里要选择合约项目对应的文件目录,比如这里的合约项目是 suchas 接着安装 hardhat 环境,这里安装的版本 2.11.1 接着创建 hardhat 工程,选择你要创建的工程类型,这里我选的 TS 一般简单的测试学习我们可以用 remix,更多时候是用专业的 vscode IDE 编写

    2024年02月06日
    浏览(37)
  • 10.区块链系列之hardhat部署抵押赎回Fund合约

    本文继续通过笔者学习到的抵押赎回智能合约Fund来进一步学习solidity语言,加深对开发的理解,其中通过storage节省gas是需要重点实践的,毕竟涉及到资产 代码已提交至https://gitee.com/SJshenjian/blockchain/tree/master/hardhat-fund-me-fcc 1. 依赖安装 若出现如下错误 在yarn.lock中ethereumjs-abi指

    2023年04月09日
    浏览(34)
  • Hardhat 开发框架 - Solidity开发教程连载

    Decert.me 要连载教程了, 《Solidity 开发教程》 力求 系统 、 深入 的介绍 Solidity 开发, 同时这是一套交互式教程,你可以实时的修改教程里的合约代码并运行。 本教程来自贡献者 @Tiny熊,让我们正式开始学习吧。 如果你已经是 Hardhat 的使用者,可以直接跳到文末,参与挑战

    2024年02月03日
    浏览(35)
  • hardhat开发dapp初始化操作

    入门的话可以通过 Remix 开发工具完成solidity项目的编写、编译、部署等操作。专业点的开发工具有 Truffle 和 Hardhat ,先看一看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,

    2023年04月09日
    浏览(46)
  • DAPP开发【09】NFT交易市场开发(hardhat测试)

    测试文件下新建market.js文件 扁平化,将所有依赖放在tmp.sol,可以去给他人使用 npx hardhat flatten tmp.sol 测试文件

    2024年01月16日
    浏览(47)
  • Hardhat常用命令介绍

    Hardhat 是一个用于构建以太坊(Ethereum)智能合约的开发工具套件。它提供了一套强大的命令行工具,帮助开发者在开发、测试和部署智能合约时提高效率。本文将为您提供 Hardhat 的所有命令使用指南,详细介绍每个命令的功能和用法,帮助您快速上手并在以太坊智能合约开发

    2024年02月03日
    浏览(27)
  • Hardhat 环境搭建及教程示例

    选择创建hardhat配置文件 Hardhat是围绕**task(任务)和plugins(插件)**的概念设计的。 **Hardhat **的大部分功能来自插件,作为开发人员,你可以自由选择你要使用的插件。 每次你从CLI运行Hardhat时,你都在运行任务。 例如 npx hardhat compile正在运行compile任务。 要查看项目中当前可用的

    2023年04月09日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包