本文档介绍了OpenZeppelin Contracts库中关于代理(Proxy)模式的各种实现,包括基本代理、ERC1967代理、透明代理(Transparent Proxy)和 UUPS 代理,以及 Beacon 代理和最小克隆代理。
本文档介绍了 OpenZeppelin Gas Station Network (GSN) 库,它提供了一组合约,允许合约通过 GSN 被调用,实现 gasless 交易。
本篇文章总结了近期Web3领域出现的一些安全漏洞和安全事件,主要分析了不一致的Scaling问题,包括MBU Token由于Scaling不匹配导致攻击者获利200万美元,以及Across Protocol在Gas Token金额计算中错误的十进制Scaling导致超额收费。
本文档介绍了 OpenZeppelin Relayer 的网络配置方法,支持通过 JSON 文件配置多种区块链网络,包括 EVM 兼容网络、Solana 网络和 Stellar 网络。文档详细说明了各种网络类型的配置字段、配置方法(包括分离 JSON 文件和直接配置),以及网络继承的使用。此外,还提供了配置示例、最佳实践和故障排除建议。
本文介绍了ERC-4337中Paymaster的概念,Paymaster允许第三方为用户的交易支付gas费用。文章详细讲解了两种Paymaster的实现方式:基于签名的赞助,以及基于ERC20代币的赞助,包括如何使用Chainlink预言机动态获取代币价格,以及如何使用担保人模式为用户提供初始资金。此外,还讨论了在生产环境中实施Paymaster时需要考虑的实际问题。
本文档介绍了 OpenZeppelin Relayer 的存储配置,包括内存存储和 Redis 存储两种类型。内存存储适用于开发和测试环境,而 Redis 存储适用于生产环境,并支持数据持久化和多实例部署。文档还详细说明了各种配置选项、Redis 安全性考虑以及事务存储管理。
本文介绍了账户抽象的概念,特别是通过 ERC-4337 标准实现账户抽象的方法。
本文探讨了区块链基础设施安全的重要性,解释了它与智能合约安全的不同之处,并提供了一些针对区块链基础设施进行安全审计的实用方法。文章强调了基础设施审计需要关注的组件及其潜在风险,例如验证节点、数据可用性层、执行客户端和P2P网络,以及如何采用系统性的方法来识别和缓解这些风险,确保区块链网络的整体安全。
本文介绍了如何在以太坊网络上部署和交互智能合约。首先,文章讲解了如何设置本地区块链环境,然后演示了如何使用 Hardhat 部署智能合约。接着,文章展示了如何通过 Hardhat console 和 JavaScript 代码与已部署的合约进行交互,包括发送交易和查询状态。最后,文章说明了下一步学习的方向,包括自动化测试、连接公共测试网络以及为主网做准备。
本文档介绍了OpenZeppelin Contracts库在不同版本之间的向后兼容性保证,包括API和存储布局的兼容性。文章解释了在patch和minor版本更新中通常会保持向后兼容,但某些情况下可能会有例外,特别是涉及到安全问题或draft状态的ERC标准时。同时提醒了override函数、struct结构体以及错误处理等方面需要注意的问题,并强调了major版本更新通常不保证兼容性。