本教程详细介绍了如何在BuildBear沙箱中部署DeFi协议并使用Sourcify插件验证其源代码,强调了源代码验证在确保智能合约安全性和可靠性方面的重要性。同时,文章提供了针对Foundry和Hardhat的具体步骤和命令,清晰地说明了开发环境设置、合约部署和验证的过程。
在本教程中,我们将指导你通过在 BuildBear 沙盒中集成 Sourcify 插件来部署 DeFi 协议并验证其源代码。
确保智能合约的安全性和可靠性至关重要,特别是在去中心化金融(DeFi)协议中。源代码验证允许开发者和用户验证智能合约的行为是否符合预期,以避免漏洞风险并确保对协议功能的信任。
Sourcify 是一个专为各种基于 EVM 网络的开源和去中心化合约设计的智能合约验证工具。与其他一些验证服务不同,Sourcify 专注于元数据哈希的完全匹配,确保更全面的验证过程。它通过利用元数据文件中的 ABI 和 NatSpec 注释来提升合约交互,使交互更加用户友好。
我们将部署包含用户流动性池合约和在价格范围内进行交换的 Uniswap v3 合约。Foundry 原生支持通过 Sourcify 进行验证。我们可以使用 --verifier
和 --verifier-url
标志在 Foundry 上启用 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 查看详细信息。
要开始,请使用相同的 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 是一个针对 DApp 开发和测试的平台。开发者可以在各种区块链网络上构建个性化的私有测试网沙盒。能够铸造无限的本地和 ERC20 代币,加上 BuildBear 上快速的交易时间(低于 3 秒!),极大地提升了 DApp 开发生命周期。该平台配备了实时测试和调试的工具和插件,确保开发者能够以无与伦比的便利跟踪复杂的区块链交易。
与我们联系 Twitter | LinkedIn | Telegram | GitHub
- 原文链接: medium.com/buildbear/how...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!