• 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

  • 相关阅读:
    机器学习---支持向量机的初步理解
    Android13版本新特性介绍
    IgH详解十四、igh添加总线链路状态监测功能
    linux中超炫酷的代码
    2024最佳steam搬砖项目,日入5000,保姆级教程,小白无脑操作
    《时代》百大AI人物榜单公布,李彦宏、Sam Altman、黄仁勋等评为全球AI领袖
    mysql作业-牛客
    extern关键字
    任务提醒摆件关联传感器调查
    电信行业信创发展前景广阔 如何选择可靠的信创传输软件?
  • 原文地址:https://blog.csdn.net/xingxincsdn/article/details/125500924