首页 > 其他分享 >Hardhat 开发框架 - Solidity开发教程连载

Hardhat 开发框架 - Solidity开发教程连载

时间:2023-05-11 11:12:17浏览次数:76  
标签:888 Solidity 开发 Counter hardhat Hardhat 合约 counter

Decert.me 要连载教程了, 《Solidity 开发教程》 力求系统深入的介绍 Solidity 开发, 同时这是一套交互式教程,你可以实时的修改教程里的合约代码并运行。

本教程来自贡献者 @Tiny熊,让我们正式开始学习吧。

如果你已经是 Hardhat 的使用者,可以直接跳到文末,参与挑战领取技能认证 NFT。


Hardhat 提供了一个灵活且易于使用的环境,可以轻松地编写、测试和部署智能合约。类似的开发工具或框架还有: Remix IDETruffle Foundry, 目前最受欢迎的是 Hardhat 与 Foundry。

Hardhat 使用 Node 进行包管理,如果你熟悉 Node 及 Javascript, Hardhat 将非常简单上手。

Hardhat还内置了Hardhat 网络(Hardhat Node),它是为开发而设计的本地以太坊网络。 用来部署合约,运行测试和调试代码

在本文中,我们将介绍:

  1. 创建及配置Hardhat项目
  2. 编写智能合约
  3. Hardhat 编译合约
  4. 使用 Ethers.js 和为合约编写自动化测试
  5. 使用 console.log()调试 Solidity
  6. 使用 Hardhat 部署合约
  7. 使用 Hardhat Etherscan 进行开源验证。
  8. Hardhat 插件的使用

本文对应的代码在:https://github.com/xilibi2003/training_camp_2/tree/main/w1_hardhat

创建及配置Hardhat项目

Hardhat 构建在Node.js之上, 使用 Hardhat 要求我们在电脑先安装好Node.js (>= 16.0), 环境准备可以参考这里

先创建项目目录:

mkdir hardhat-tutorial
cd hardhat-tutorial

初始化 Node 项目:

npm init

安装 Hardhat :

npm install --save-dev hardhat

在安装Hardhat的目录下运行:

npx hardhat

使用键盘选择"创建一个新的hardhat.config.js(Create a JavaScript project)" ,然后回车。

$ 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

标签:888,Solidity,开发,Counter,hardhat,Hardhat,合约,counter
From: https://www.cnblogs.com/tinyxiong/p/17390460.html

相关文章

  • uniapp自定义开发一个文本输入框
    开发component中的一个input标签一、在原来的模块上面创建一个新的类TestComponent1.新建TestComponent2.配置json文件二、uniapp准备工作1.在uniapp中写一下刚刚创建的输入框2.打包导出资源3.资源替换复制刚刚生成的本地资源文件夹到AndroidStudio项目中......
  • 未配置appkey或配置错误,uniapp原生安卓插件开发
    开发安卓原生插件一、官方文档1.https://nativesupport.dcloud.net.cn/NativePlugin/course/android2.下载对应的SDK、工程文件二、生成uniapp的appkey1.配置配置好Androidstudio的环境:SDK、JDK2.导入项目3.HbuilderX中创建新的项目“plugin_demo”,同时当前创建项目的APP......
  • ABP开发需要用到的命令
    #0、命令行在哪里执行?在VisualStudio的“解决方案资源管理器”的解决方案或者项目上点鼠标右键,选择“在终端中打开”。#1、安装abp官网文档地址:https://docs.abp.io/en/abp/latest/CLIABPCLI是一个dotnetglobaltool.使用命令行窗口安装:~~~dotnettoolinstall-g......
  • Go语言及开发工具LiteIDE的安装
    安装平台macGo语言安装下载go的安装包下载页面:https://golang.org/dl/另外参考http://godoc.golangtc.com/doc/install#install下载完go语言的安装包之后进行安装mac上默认的安装路径是/usr/local/go设置环境变量exportGOROOT=$HOME/goexportPATH=$PATH:$GOROOT/binGo语言开发......
  • 协同开发同一分支冲突解决
    1.代码提交冲突格式:2.区分冲突代码中自己的代码和其他人的代码: 3.保留功能不同的代码,解决冲突: ......
  • 百度地图开发api
     获取百度地图ak:https://zhuanlan.zhihu.com/p/574521243 引入依赖:<!--引入HttpClient依赖--><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.3</version></......
  • mapper接口开发--条件,为什么是接口、参数
    三个必要条件_mapper.java和_mapper.xml需要在同一个目录这就是为什么看到resources有同样的包xml中的namespace为mapper.java的全限定路径mapper.xml的id和mapper.java的方法名字、参数类型、返回值一致最后通过sqlSession.getMapper(*mapper.class)得到接口,这样就可以......
  • 一款基于java开发的智能化系统(es+neo4j+activiti)
    一、项目介绍一款全源码,可二开,可基于云部署、私有部署的企业级知识库云平台,一款让企业知识变为实打实的数字财富的系统,应用在需要进行文档整理、分类、归集、检索、分析的场景。获取方式+q:262086839为什么建立知识库平台?助力企业知识资产有效沉淀和利用,避免随文档负责人变动......
  • 开源单用户客服系统源码-上传附件功能-elementui 异步上传文件【唯一客服开发商】
    之前开源的单用户客服系统,上传附件成功后,还不能展示出文件形式,今天把上传展示出文件形式给开发完善一下。我想要实现的效果是,展示出文件的名称和大小信息后端返回一个带有文件信息的json结果,前端把该信息组织一下并解析成可以展示的样子后端golang部分代码funcUploadFile(c......
  • WEB前端开发规范文档
    WEB前端开发规范文档 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发. 本文档如有不对或者不合适的地方请及时提出, 经讨论后决定可以更改此......