Hardhat 与 Foundry:学习如何在你的项目中使用两者

  • BuildBear
  • 发布于 2024-04-03 12:21
  • 阅读 41

本文探讨了如何结合使用 Hardhat 和 Foundry 两种工具来提高区块链开发的效率。文章详细介绍了这两种工具的特点和安装流程,并提供了基于 Hardhat 项目的集成指南,以及开发和测试固件合约的步骤,适合对区块链开发有一定了解的开发者阅读。

Web3 生态系统不断演变,开发者工具在不断进步,以满足区块链开发的需求。尽管像 Truffle 这样的工具在过去被广泛使用,开发者们越来越转向 Hardhat,因为它具备更强的功能和开发者体验。另一方面,Foundry 作为另一种工具包,提供了一系列智能合约开发和测试的功能。

在本指南中,我们将探讨如何将 Foundry 的优势与 Hardhat 的强大结合,以创建一个无缝且高效的区块链项目开发环境。让我们深入了解,释放 web3 开发的完整潜力。

什么是 Hardhat?

Hardhat 是一个由 Nomiclabs 构建和维护的以太坊智能合约开发环境。它是一个可扩展的 Javascript 框架,提供了一套管理智能合约生命周期的工具和功能,包括编译、部署、测试和调试。以下是如何使用 npm 安装和初始化 Hardhat 的示例:

npm install hardhat
npx hardhat init

Hardhat 的插件系统允许开发者通过自定义插件扩展其功能,使其在不同的开发需求下高度可定制。

什么是 Foundry?

Foundry 是一个由 Paradigm 开发的智能合约开发工具包,用于在以太坊区块链上开发应用程序。Foundry 基于 Rust 运行,提供多种工具来开发和测试 Solidity 智能合约。Foundry 具有一套 CLI 命令,使创建新项目、编译、部署和与合约交互变得简单。

要安装 Foundry,请在终端中运行以下命令。

curl -L <https://foundry.paradigm.xyz> | bash
foundryup

Hardhat 与 Foundry:快速比较

  1. Hardhat 是一个 Javascript 框架,提供熟悉的开发者使用体验。Foundry 符合喜欢 Rust 和底层语言的开发者。
  2. 使用 Hardhat 可以编写 Javascript 脚本和单元测试。在 Foundry 中,测试是用 Solidity 编写的,保持与代码相同的语言。
  3. Hardhat 通过 npm 拥有广泛的插件生态系统,而 Foundry 具有本地模糊测试功能,能够测试函数输入。
  4. 在 Hardhat 中,标准单元测试在几秒钟内运行,通常性能良好,而 Foundry 通过更快地执行测试和脚本在性能上表现优异。

如何在项目中使用 Hardhat 和 Foundry:分步指南

让我们看看如何将 Foundry 集成到 Hardhat 项目中,为此我们将使用 Hardhat x BuildBear 存储库,它让你创建自己的私有测试网,建立在主网上,具有自己的本地和 ERC20 代币水龙头和区块链浏览器。

注意:确保系统中已安装 Foundry 和 Hardhat。

git clone <Paste the URL>
cd Hardhat-BuildBear
git init
npm install
  • 将以下内容添加到 Hardhat 配置文件中
require("@nomicfoundation/hardhat-foundry");
  • 为了将 Foundry 初始化到项目中,请运行以下命令
npx hardhat init-foundry
  • 创建你的私有测试网,测试网启动后,沙箱的详细信息将存储在 testnet.json 文件中
npm run createTestnet
  • 使用 Hardhat 部署 Greeter.sol 智能合约,请运行
npx hardhat run scripts/deploy-greeter.js

部署成功后,单击浏览器链接与合约进行交互。

  • 使用 Foundry 运行用 Solidity 编写的测试
forge test

运行测试后,你将得到如下输出。可以在 这里 找到本教程的存储库。

结论

总之,选择 Hardhat 还是 Foundry 取决于开发者对语言的偏好以及他们在构建应用程序或进行智能合约分析和审计方面的侧重点。Hardhat 非常适合以 JavaScript 熟悉度和丰富工具集构建以太坊应用程序,而 Foundry 则非常适合进行高级智能合约分析、审计和快速执行 Solidity 测试。使用 hardhat-foundry 插件,可以让你的 Foundry 项目与 Hardhat 一起工作,充分发挥双方的优势。

关于 BuildBear

BuildBear 是一个专为 DApp 开发和测试量身定制的平台。开发者在各种区块链网络中构建个性化的私有测试网沙箱的自由。Mint 无限制的本地和 ERC20 代币,加上在 BuildBear 上的快速交易时间(不足 3 秒!),大大增强了 DApp 的开发生命周期。该平台配备实时测试和调试所需的工具,确保开发者可以以无与伦比的便利性跟踪复杂的区块链交易。

与我们连接 Twitter | LinkedIn | Telegram | GitHub

作者:Sana

  • 原文链接: medium.com/buildbear/har...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
BuildBear
BuildBear
https://medium.com/buildbear