如何在 BuildBear 沙盒中使用 Hardhat 和 Foundry 部署和 Sourcify 验证

  • BuildBear
  • 发布于 2024-05-29 12:27
  • 阅读 44

本教程详细介绍了如何在BuildBear沙箱中部署DeFi协议并使用Sourcify插件验证其源代码,强调了源代码验证在确保智能合约安全性和可靠性方面的重要性。同时,文章提供了针对Foundry和Hardhat的具体步骤和命令,清晰地说明了开发环境设置、合约部署和验证的过程。

在本教程中,我们将指导你通过在 BuildBear 沙盒中集成 Sourcify 插件来部署 DeFi 协议并验证其源代码。

为什么源代码验证很重要?

确保智能合约的安全性和可靠性至关重要,特别是在去中心化金融(DeFi)协议中。源代码验证允许开发者和用户验证智能合约的行为是否符合预期,以避免漏洞风险并确保对协议功能的信任。

介绍 Sourcify 验证工具

Sourcify 是一个专为各种基于 EVM 网络的开源和去中心化合约设计的智能合约验证工具。与其他一些验证服务不同,Sourcify 专注于元数据哈希的完全匹配,确保更全面的验证过程。它通过利用元数据文件中的 ABI 和 NatSpec 注释来提升合约交互,使交互更加用户友好。

在 Foundry 上使用 Sourcify 插件部署 DeFi 协议和验证

我们将部署包含用户流动性池合约和在价格范围内进行交换的 Uniswap v3 合约。Foundry 原生支持通过 Sourcify 进行验证。我们可以使用 --verifier--verifier-url 标志在 Foundry 上启用 Sourcify 验证。

设置开发环境

  • Foundry 安装。请参考这个指南 这里
  • 创建一个私有沙盒。如果你是 BuildBear 的新用户,请参考我们全面的文档以注册和创建你的沙盒 这里

  • 安装 Sourcify 插件

安装你的沙盒的 Sourcify 插件,以启用 Sourcify 验证。点击插件按钮,从所有插件选项卡中选择 Sourcify,然后进行安装。安装后,它将在已安装插件选项卡中出现。

要开始项目,请使用以下命令克隆 uniswapv3 的 repo

git clone https://github.com/BuildBearLabs/Sourcify-verify.git
 cd Foundry-Sourcify

安装所有必要的依赖项。forge install 将作为 git 子模块添加依赖项到你的项目中。

yarn install

在部署合约之前,请确保你的账户有足够的代币来覆盖交易费用。你可以在沙盒仪表板上从 faucet 获取代币。

部署和验证智能合约

要使用 Forge 命令部署和验证你的合约,你需要传递你的 RPC URL、私钥和验证器 URL。你的验证器 URL 将遵循以下格式:https://rpc.buildbear/verify/sourcify/server/{sandboxId or customRPC}.

forge create --rpc-url https://rpc.dev.buildbear.io/sanam --private-key 670e8f5f547a3bc4bd1869d473591ff10f6cf0d69a254257b61eca3f242ef188 script/DeployDevelopment.s.sol:DeployDevelopment --verify --verifier sourcify --verifier-url https://rpc.buildbear.io/verify/sourcify/server/sanam

在成功执行后,Uniswapv3 合约将被部署并使用 Sourcify 工具进行验证。请访问 BuildBear Explorer 查看详细信息。

在 Hardhat 上部署 UniswapV3 并使用 Sourcify 验证

要开始,请使用相同的 repo,并使用以下命令切换到包含 uniswapv3 合约的 Hardhat 项目目录并安装所有所需的依赖项。

cd Hardhat-Sourcify
 npm install

要在 Hardhat 项目中使用 Sourcify 验证代码,请使用 Hardhat Verify 插件。请注意,Sourcify 目前在 Hardhat Ignition 中不受支持,因为它默认为 Etherscan。

要安装插件:

npm install --save-dev @nomicfoundation/hardhat-verify

然后,将以下语句添加到你的 hardhat.config.js 文件中:

require("@nomicfoundation/hardhat-verify");

该插件允许你验证 Solidity 合约的源代码,并提供与 Sourcify 和其他兼容浏览器的集成。

接下来,在你的 hardhat.config.js 文件中配置网络详细信息以部署合约。从 BuildBear 沙盒仪表板获取 RPC URL,并确保安装了 Sourcify 插件。

最后,使用 API URL 启用 Sourcify,遵循相同格式,但包含你的 {sandboxId or customRPC}。可选地,禁用 Etherscan,以确保仅使用 Sourcify 进行合约验证,防止任何潜在的混淆或冲突。你的配置文件应如下所示:

现在,通过运行以下命令部署和验证协议;

npx hardhat run scripts/deploy-Uniswap.js --network buildbear

或使用以下命令按合约地址在 Sourcify 上验证已部署的合约,

npx hardhat verify --network buildbear <contract address>

请访问 BuildBear Explorer 查看合约详细信息,

恭喜你完成了这个关于在 BuildBear 沙盒中使用 Sourcify 部署和验证 Uniswap v3 协议的教程!

关于 BuildBear Labs:

BuildBear 是一个针对 DApp 开发和测试的平台。开发者可以在各种区块链网络上构建个性化的私有测试网沙盒。能够铸造无限的本地和 ERC20 代币,加上 BuildBear 上快速的交易时间(低于 3 秒!),极大地提升了 DApp 开发生命周期。该平台配备了实时测试和调试的工具和插件,确保开发者能够以无与伦比的便利跟踪复杂的区块链交易。

与我们联系 Twitter | LinkedIn | Telegram | GitHub

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

0 条评论

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