本文介绍了如何通过编写自动化测试来验证智能合约的行为。内容包括搭建测试环境(使用本地区块链)、编写单元测试(使用Chai断言库),以及执行复杂断言的方式(使用OpenZeppelin Test Helpers)。文章还提及了持续集成服务(如CircleCI)的设置,以便每次提交代码到GitHub时自动运行测试。
本文是关于OpenZeppelin升级插件的常见问题解答,涵盖了Solidity编译器版本变更、常见错误、合约升级安全、禁用检查、使用delegatecall和selfdestruct、实现兼容性、代理管理员、实现合约、代理、immutable变量、外部库、升级函数、自定义类型以及在存储变量中使用内部函数等问题。
本文档详细介绍了 OpenZeppelin Relayer 的网络配置系统,支持通过 JSON 文件配置多种区块链网络,包括EVM兼容网络、Solana 和 Stellar。文档涵盖了网络类型、配置方法(包括分离 JSON 文件和直接配置)、网络字段参考、特殊网络标签的用法、各种网络的配置示例、网络继承以及最佳实践,同时提供了故障排除的指导。
本文介绍了如何使用 OpenZeppelin Defender 管理智能合约中的角色权限,包括添加合约、查看和修改角色。通过一个基于角色的访问控制(RBAC)智能合约示例,演示了如何创建合约、分配和撤销角色,以及如何使用 Defender 的地址簿和交易提案功能进行操作。主要目的是帮助用户了解如何使用 Defender 有效地管理和控制智能合约的访问权限。
本文介绍了OpenZeppelin Test Helpers,这是一个用于以太坊智能合约测试的断言库。它提供了诸如检查交易是否因正确的原因而revert、验证事件是否以正确的值发出、跟踪余额变化、处理大数以及模拟时间流逝等功能。文章还提供了安装和使用示例,以及进一步学习的链接。
本文介绍了OpenZeppelin Subgraphs,它是一组用于轻松索引OpenZeppelin合约活动的模块。通过组合不同的模块和数据源,用户可以构建复杂的查询,以获取链上活动的信息,而无需编写大部分索引逻辑。文章还提供了关于如何构建manifest和组装schema的指导,并列出了可用的模块,如erc20、erc721、ownable等。
本文介绍了OpenZeppelin Relayer,一个用于向EVM和非EVM网络中继交易的基础设施服务。主要功能包括多链支持、交易中继、安全签名、费用估算、Gasless交易、Nonce管理、状态监控、SDK集成、可扩展架构、网络策略配置、指标监控、Docker支持和插件扩展。支持包括以太坊、Solana、Stellar在内的多种网络,通过灵活的JSON配置系统进行管理。
本文档概述了OpenZeppelin Relayer项目的开发路线图,包括稳定性改进、安全性增强、开发者体验优化、新功能添加和扩展改进等方面。具体包括EVM、Solana、Stellar等网络的特性支持和未来计划,以及社区和文档的持续更新。此外,还强调了安全性、稳定性、社区反馈和生态系统发展对开发优先级的影响。
本文档介绍了OpenZeppelin Contracts库中的Math模块,该模块提供了一系列与数学相关的实用工具,包括SafeMath、SignedSafeMath和Math库,用于执行安全算术运算,避免溢出和除零等错误。SafeMath库实现了无溢出的加减乘除模运算,SignedSafeMath库实现了有符号整数的安全算术运算,Math库则提供了一些标准数学实用函数,如最大值、最小值和平均值。
本文介绍了如何将智能合约连接到公共测试网络,以便在类似以太坊主网的环境中免费测试合约。文章涵盖了可用的测试网络、如何设置项目以连接到测试网络、如何部署合约以及如何与测试网络上的合约实例进行交互。文章提供了使用Alchemy访问测试网节点、创建新账户、配置网络以及获取测试网资金的步骤,并演示了如何在Sepolia测试网上部署和交互Box合约。