• Hardhat开发智能合约和DApp


    Hardhat简介

    Hardhat 是一个用于编译、部署、测试和调试智能合约和Dapp的开发环境。

    它可以帮助开发人员管理和自动化构建智能合约和 dApp 过程中固有的重复性任务,并围绕此工作流程轻松引入更多功能。

    Hardhat 内置了 Hardhat Network,这是一个专为开发而设计的本地以太坊网络节点,类似于 Ganache geth --dev等。它允许您部署合约、运行、测试和调试代码。

    Hardhat比Truffle等传统智能合约开发环境更好用,最新主流web3项目都纷纷采用了Hardhat。

    Hardhat项目创建步骤

    创建空项目文件夹

    mkdir my-project
    cd my-project
    
    • 1
    • 2

    初始化项目

    npm init --yes
    
    • 1

    yarn init --yes
    
    • 1

    安装hardhat

    npm install --save-dev hardhat
    
    • 1

    yarn add --dev hardhat
    
    • 1

    生成项目

    npx hardhat
    
    • 1

    yarn hardhat
    
    • 1
    $ yarn 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.0.8
    
    ? What do you want to do? …
    ❯ Create a sample project
      Create an advanced sample project
      Create an advanced sample project that uses TypeScript
      Create an empty hardhat.config.js
      Quit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    选择Create a sample project 回车生成demo项目

    中间会提示你会执行下面命令,回车就行

    npm install --save-dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers
    
    • 1

    会生成hardhat.config.js配置文件、test/sample-test.js、contracts/Greeter.sol

    启动本地节点Hardhat Network

    默认情况下,Hardhat 将始终在启动时启动 Hardhat Network 的内存实例。也可以以独立方式运行 Hardhat Network,以便外部客户端可以连接到它,比如小狐狸插件或dapp页面。

    在新命令行终端执行下面命令,yarn的情况把npx改成yarn就行

    $ npx hardhat node
    Started HTTP and WebSocket JSON-RPC server at http://127.0.0.1:8545/
    
    • 1
    • 2

    启动后会生成内置的默认账户地址和私钥,注意只能本地测试用,不要给该地址转主网的必

    这将公开一个 JSON-RPC 接口。要使用它,请将您的钱包或应用程序连接到http://127.0.0.1:8545

    注意:本地节点的默认chainId 默认值:31337,小狐狸插件或dapp页面需要调整chainId配置

    如果你想将 Hardhat 连接到这个节点,你只需要使用 --network localhost

    部署合约

    打开一个新的终端执行下面命令,在localhost网络中部署智能合约,yarn的情况把npx改成yarn就行

    npx hardhat run scripts/sample-script.js --network localhost
    
    • 1

    至此,成功创建了Hardhat项目,并在本地节点部署了合约,后面可以自行创建前端页面模块来调用合约

    hardhat官方模板项目

    下面是hardhat官方模板项目,包括智能合约模板和DApp模板,提供了react页面调用合约的模块

    https://github.com/NomicFoundation/hardhat-boilerplate

  • 相关阅读:
    open3d-mesh读写
    算法做题记录
    python KNN分类算法实战(使用鸢尾花数据集)
    基于Matlab搭建单站雷达扫描天空仿真平台(附源码)
    Intellij 自定义MyBatis映射文件模板
    骑行探秘,海晏村贝丘渔场之旅,一场与大自然的亲密邂逅
    归并排序的递归和非递归实现
    使用CrossOver 在Mac 运行Windows 软件|D3DMetal是什么技术,
    hadoop -hive 安装
    Python Prim 算法 生成迷宫 通过Pygame可视化
  • 原文地址:https://blog.csdn.net/xingxincsdn/article/details/125500924