本文档介绍了OpenZeppelin Contracts库中用于访问控制的组件,包括Ownable、AccessControl和TimelockController。Ownable提供简单的所有者权限控制,AccessControl提供更细粒度的基于角色的访问控制,而TimelockController则在访问控制中引入时间锁机制,确保关键操作执行前有足够的时间让用户做出反应。
本文档介绍了OpenZeppelin Defender SDK和API,它是一个允许开发者使用Javascript/Typescript与Defender进行交互的节点包。文章描述了SDK的安装方法,以及如何使用API密钥(包括Relayer API Keys和Admin API Keys)对请求进行身份验证,并提供了代码示例。
本文介绍了如何使用 OpenZeppelin 的 Network.js 库来构建一个简单的 React DApp,该 DApp 可以显示当前连接的 Ethereum 网络信息(网络 ID、网络名称、提供者名称)以及用户账户的余额。文章还介绍了如何向用户请求账户访问权限以及如何与 Gas Station Network (GSN) 集成。
OpenZeppelin Relayer 是一个为EVM和非EVM网络提供交易中继基础设施的服务。它支持多链交互、交易签名、费用估算、Gasless交易等功能。可以通过SDK集成,并支持Docker部署和插件扩展,允许开发者构建自定义逻辑。支持EVM、Solana, Stellar等多种区块链网络。
本文介绍了ERC-4626标准,它是ERC-20的扩展,为代币金库定义了一个标准接口。文章重点讨论了ERC-4626实施中的安全问题,特别是通货膨胀攻击,并提出了一种基于虚拟偏移的防御方法。此外,还讨论了如何在ERC-4626金库中添加费用的自定义行为,并提供了一个Solidity代码示例。
本文档介绍了 OpenZeppelin Defender 的日志功能,包括日志记录的各种事件(如用户操作、自动化活动),日志条目的结构(模块、时间、严重性等),以及如何将日志转发到 Datadog 和 Splunk 等外部服务进行聚合和分析。还提供了设置日志转发到 Splunk 和 Datadog 的具体步骤和示例。
本文提供了两个 subgraph 的示例,展示了如何配置 subgraph manifest 文件来索引以太坊 Goerli 网络上的智能合约事件。第一个示例针对简单的 ERC20 代币,第二个示例扩展到包括 Ownable、Pausable 和 TimelockController 合约,演示了如何处理多个数据源。
本文介绍了 ERC1155 token 标准,它借鉴了 ERC20、ERC721 和 ERC777 的优点,实现了fungibility-agnostic 和 gas-efficient 的代币合约。ERC1155 允许在一个智能合约中表示多种类型的代币,通过批量操作和单一合约状态管理,可以节省大量 gas 费用。
本文介绍了如何在OpenZeppelin Defender中集成Fireblocks,以便直接向Fireblocks提交交易。主要步骤包括:在Defender中生成CSR文件,在Fireblocks中创建API用户并导入CSR,将Fireblocks API密钥连接到Defender,以及创建审批流程。最后,说明了交易的批准或拒绝只能通过Fireblocks进行。
OpenZeppelin发布了5.2版合约,增强了跨链互操作性和账户抽象框架,推出了ERC-4337和ERC-7579等新功能。社区合约库加强了这些标准的实验性实现,支持跨链消息传递,并提供了易于使用的工具和文档,旨在促进智能合约开发者的快速迭代和协作。