睿阳知识库 睿阳知识库
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
  • 视频监控
  • MySQL系列

  • 应用高可用
  • 静态代码扫描
  • OpenSSH升级
  • 区块链

    • 0.学习路线
    • 01.概述
    • 02.预备知识
    • 03.区块链原理
    • 04.比特币挖矿原理
    • 05.比特币交易原理
    • 06.电子钱包
    • 07.以太坊概述
    • 08.以太坊账户
    • 09.以太坊交易
    • 10.以太坊数据结构
    • 11.以太坊客户端
    • 12.以太坊权益证明
    • 13.智能合约
    • 14.Solidity精解
    • 15.HardHat说明
      • 一. 概述
      • 二. 安装及示例
      • 二. 部署到以太坊测试网
        • 1. 创建一个电子钱包帐户
        • 2. 创建一个 Etherscan 帐户
        • 3. 创建一个 Alchemy 账户
        • 4. 获取测试以太币
        • 5. 部署智能合约
        • 6. 查看结果
    • 16.去中心化应用
    • 17.区块链-供应链
  • 技术
  • 区块链
孙超
2023-07-10
目录

15.HardHat说明

# 一. 概述

Hardhat是一个用于Ethereum软件的开发环境。它由不同的组件组成,用于编辑、编译、调试和部署你的智能合约和DApps,所有这些组件一起工作以创建一个完整的开发环境。

Hardhat Runner是你在使用Hardhat时交互的主要组件。它是一个灵活和可扩展的任务运行器,可以帮助你管理和自动化开发智能合约和dApps所固有的经常性任务。

Hardhat Runner是围绕任务和插件的概念设计的。每次你从命令行运行Hardhat时,你都在运行一个任务。例如,npx hardhat compile 运行内置的编译任务。任务可以调用其他任务,允许定义复杂的工作流程。用户和插件可以覆盖现有的任务,使这些工作流程可定制和可扩展。

# 二. 安装及示例

开发工具可以选择Visual Studio Code,安装Solidity扩展,Windows 系统推荐使用 WSL 2 (opens new window)。

vs-solidity

本例使用npm,版本 >= 7

## 创建一个空目录,并初始化
mkdir hello && cd hello
npm init

## 添加 hardhat 依赖包
npm install --save-dev hardhat

## 创建 hardhat 项目(包含:智能合约示例、示例合约的单元测试、示例合约部署脚本)。选择 Create a JavaScript project
npx hardhat
## 可选操作
# 简写工具,命令行 hh = npx hardhat ,执行 npm install --global hardhat-shorthand 安装
# 命令自动完成,执行 hardhat-completion install 安装

## 验证安装,运行如下命令,查看 hardhat 的版本
npx hardhat --version
 
## 编译智能合约,示例智能合约 contracts/Lock.sol
npx hardhat compile

## 测试智能合约,测试文件位于 test/ 目录下
npx hardhat test

## 部署智能合约(本地)
## 开启一个本地 hardhat 网络节点
npx hardhat node

## 将智能合约部署到本地 hardhat 网络节点
npx hardhat run scripts/deploy.js --network localhost

# 二. 部署到以太坊测试网

智能合约在本地验证通过后,需要将智能合约部署到以太坊(主网) (opens new window)中,而在这之前,应该将智能合约先部署到测试网中,进行充分的测试后,再部署到主网中。

测试网选择 Sepolia,Sepolia 测试网络 (opens new window)。

注意:要完成操作,需要科学上网(浏览器和命令行)。

要部署到Sepolia 测试网络 (opens new window),需要进行如下操作:

# 1. 创建一个电子钱包帐户

安装MetaMask (opens new window),注册并创建一个帐号。主要信息:地址、私钥。

metamask

# 2. 创建一个 Etherscan 帐户

打开Etherscan explorer (opens new window),注册并创建一个帐号。主要信息:API Keys。

ethscan

# 3. 创建一个 Alchemy 账户

Alchemy (opens new window)是一个以太坊开发者平台,提供了一系列工具和服务,帮助开发者构建和扩展基于以太坊的应用程序。它旨在简化以太坊开发过程,提供更好的开发体验和性能优化。

与以太坊通信,需要注册并创建一个帐号。主要信息:API Keys。

# 4. 获取测试以太币

将智能合约部署到Sepolia测试网中,需要消耗测试以太币。可以在Alchemy Sepolia Faucet (opens new window)中免费获取。

AlchemySepoliaFaucet
  • 修改配置hardhat.config.js
const ALCHEMY_API_KEY = "Alchemy API Key";
const METAMASK_PRIVATE_KEY = "MetaMask钱包中的账户私钥";

module.exports = {
  solidity: "0.8.18",
  etherscan: {
    apiKey: "<ETHER_SCAN_API_KEY>",
  },
  networks: {
    sepolia: {
      url: `https://eth-sepolia.g.alchemy.com/v2/${ALCHEMY_API_KEY}`,
      accounts: [METAMASK_PRIVATE_KEY],
    },
  },
  ...
};

# 5. 部署智能合约

## 部署到Sepolia 测试网络
npx hardhat run scripts/deploy.js --network sepolia


## 验证智能合约Lock.sol, <address> 是智能合约地址, <unlock time> 是时间(毫秒)
## 注意:验证前,先在 Etherscan 中手工发布智能合约源码并验证
npx hardhat verify --network sepolia <address> <unlock time>

## 跟多详情,请查看 https://hardhat.org/hardhat-runner/plugins/nomicfoundation-hardhat-verify

# 6. 查看结果

执行成功后,结果可以在 Etherscan 中进行查看

ether_thx_result

14.Solidity精解
16.去中心化应用

← 14.Solidity精解 16.去中心化应用→

最近更新
01
vue问题记录
10-11
02
RSP进度
10-09
03
贡献度
09-28
更多文章>
Copyright © 2014-2025 甘肃睿阳科技有限公司 陇ICP备15001783-1号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式