如何使用 OpenZeppelin Defender 保护你的智能合约

  • BuildBear
  • 发布于 2024-07-10 19:56
  • 阅读 34

本文介绍了OpenZeppelin Defender在智能合约安全中的应用,强调了代码检查、部署、监控、自动化等功能,并结合BuildBear提供的开发环境,展示了如何安全高效地部署智能合约。适合智能合约开发者及Web3应用的技术团队。

Openzeppelin Defender用于智能合约安全

假设:你是一名智能合约开发者(或正在成为一名智能合约开发者),或者是一家Web3应用的CXO。

简单来说,OpenZeppelin(“OZ”)Defender是一个智能合约(EVM,Solidity)开发工具。OZ Defender可以帮你实现以下几点:

  1. 代码检查:一个GitHub Action,在每次Git推送时审核你的代码库,并提供分析报告。
  2. 部署:启用合约部署以及字节码验证,并在升级智能合约时进行更新检查。
  3. 监控和警报:设置自定义警报和通知,以确保dApps保持合规,并通过跟踪所有权转移、资产铸造和合约暂停等某些事件来检测威胁或可疑活动。
  4. 自动化:类似于Gelato的Web3功能,自动化任务以优化dApp的开发和操作过程。

对于Web3应用技术团队:以上所有内容简单实用,易于理解。

对于CXO(除了CTO):你可能只会关心(a)监控和警报,和(b)自动化。

发展和测试阶段

如果你的Web3应用处于开发和测试阶段,作为CTO,你应该不断需要(a)代码检查,(b)部署,以及(c)自动化(对其进行测试)。以下是你当前的工作流程:

  1. 团队分成了较小的部门(可以重叠)(并非全部): 智能合约、前端和后端。
  2. 你的智能合约团队正在使用Foundry或HardHat开发智能合约,并使用ForgeHardHat Mocha (Chai)进行测试。
  3. 每个人都在进行Git推送(可能推送到不同的分支)。
  4. 作为CTO,你需要管理整体代码,因此你需要管理所有分支。

BuildBear分叉的可能性

BuildBear通过提供一个为DApp开发和测试量身定制的特殊环境来补充Defender的能力,帮助开发人员在部署到测试网络和主网络之前识别和修复问题。让我们探索其关键特性,以及为何将Defender和BuildBear私有测试网络沙箱相结合的原因。

  • 无限代币铸造:通过BuildBear水龙头铸造无限的原生代币和ERC20代币。
  • 快速交易时间:即时交易处理,持续时间不到3秒。
  • 私有浏览器:使用私有浏览器进行测试和调试。
  • 插件:与第三方服务无缝集成,以增强开发体验。

配置BuildBear沙箱与OpenZeppelin Defender

OpenZeppelin Defender的部署功能使开发人员能够安全地部署和升级智能合约,而BuildBear则提供一个私有水龙头以实现无限的原生代币和ERC20代币铸造,并快速处理交易。要集成BuildBear与OpenZeppelin Defender,以实现智能合约的安全部署和升级,请按照以下步骤进行:

在此处注册Openzeppelin Defender账户 here。注册后,将显示与下图类似的仪表板;

在BuildBear上创建一个账户,并设置从主网络分叉的BuildBear沙箱,具体步骤可参考 快速指南。在任何网络上创建沙箱后,复制所创建沙箱的RPC URL和浏览器URL。

导航到Defender分叉网络以添加你的沙箱详细信息。点击“添加分叉网络”,在BuildBear仪表板中输入沙箱的详细信息后保存。

中继者是Defender为我们创建的EOA。可用于通过Defender发送链上交易。在下拉菜单中选择你的分叉网络,点击“创建中继者”按钮为选定的网络创建中继者。然后,通过BuildBear水龙头将原生代币转账到中继者地址,用于支付交易的gas费用。

转到Defender部署以创建部署环境,基于你所选的分叉网络创建生产或测试网络环境。从下拉列表中选择你的分叉网络。点击继续,为部署创建一个批准流程,添加你的中继者、EOA或Safe多签地址。由于中继者自动化交易执行和管理,请为部署批准添加中继者的地址。点击继续,然后跳过下一步(不支持分叉网络的升级批准流程)以完成设置。

存储API密钥和密钥,这在之后会用到。现在部署的生产环境已设置完成。通过点击区块浏览器检查中继者的余额。

在BuildBear沙箱上使用OpenZeppelin Defender部署合约

现在环境已设置,让我们开始部署我们的合约。在这个例子中,我们将使用中继者部署uniswapv2智能合约。请按照以下步骤部署合约。

在根目录中创建一个dot env文件,格式如下,以添加API密钥和密钥:

DEFENDER_KEY=""
DEFENDER_SECRET=""

使用npx hardhat compile编译合约,以生成可导入我们的部署脚本中的工件。按照如下所示编写部署脚本:

运行脚本以部署合约。在成功部署后,你可以在Defender部署仪表板上跟踪部署状态。

导航到BuildBear浏览器以查看交易细节。

恭喜!我们已经成功在BuildBear分叉网络上使用OpenZeppelin Defender部署了智能合约。

结论

OpenZeppelin Defender与BuildBear提供了一种强大的智能合约开发和部署组合,实现了去中心化应用和协议的高级安全性与效率。借助Defender的代码检查、部署、监控和自动化工具,以及BuildBear具有强大功能的私有环境用于开发和测试,可以确保你的智能合约从开发到生产都安全和优化。

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

作者: Sana

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

0 条评论

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