openzeppelin-contracts

openzeppelin-contracts

智能合约开发的安全基石

OpenZeppelin Contracts是一个专注于智能合约安全开发的库,提供经社区验证的代码基础。该库实现了ERC20、ERC721等标准,具备灵活的基于角色的权限控制机制,并提供可重用的Solidity组件。项目严格遵循安全开发准则,定期进行安全审计。开发者可通过npm或Foundry轻松集成这些合约,为构建可靠的去中心化应用提供有力支持。

OpenZeppelin智能合约以太坊ERC标准安全开发Github开源项目

<img src="https://yellow-cdn.veclightyear.com/ab5030c0/bc247564-a7b0-467e-be16-6f597e1e2abf.svg" alt="OpenZeppelin" height="40px">

NPM 包 覆盖率状态 GitPOAPs 文档 论坛

一个用于安全智能合约开发的库。 建立在经过社区审核的代码基础之上。

:mage: 不确定如何开始? 查看合约向导 — 一个交互式智能合约生成器。

:building_construction: 想要扩展你的去中心化应用? 查看OpenZeppelin Defender — 一个关键的开发者安全平台,用于自信地编码、审计、部署、监控和操作。

[!重要] OpenZeppelin Contracts使用语义化版本控制来传达其API和存储布局的向后兼容性。对于可升级合约,不同主要版本的存储布局应被视为不兼容,例如,从4.9.3升级到5.0.0是不安全的。在向后兼容性中了解更多。

概述

安装

Hardhat (npm)

$ npm install @openzeppelin/contracts

Foundry (git)

[!警告] 通过git安装时,一个常见错误是使用master分支。这是一个开发分支,应避免使用,而应使用标记的发布版本。发布过程涉及master分支无法保证的安全措施。

[!警告] Foundry最初安装最新版本,但后续的forge update命令将使用master分支。

$ forge install OpenZeppelin/openzeppelin-contracts

remappings.txt中添加@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/

使用

安装完成后,你可以通过导入来使用库中的合约:

pragma solidity ^0.8.20; import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; contract MyCollectible is ERC721 { constructor() ERC721("MyCollectible", "MCO") { } }

如果你是智能合约开发新手,请前往开发智能合约了解如何创建新项目和编译合约。

为了保持系统安全,你应该始终按原样使用安装的代码,不要从在线源复制粘贴,也不要自行修改。该库的设计使得只有你使用的合约和函数会被部署,所以你不必担心它会不必要地增加gas成本。

了解更多

文档网站中的指南将教你不同的概念,以及如何使用OpenZeppelin Contracts提供的相关合约:

  • 访问控制:决定谁可以在你的系统中执行每个操作。
  • 代币:创建可交易的资产或集合,并通过众筹销售分发它们。
  • 实用工具:通用的有用工具,包括非溢出数学运算、签名验证和无信任支付系统。

完整API也有详细的文档,在开发智能合约应用时可作为很好的参考。你还可以在社区论坛寻求帮助或关注Contracts的开发。

最后,你可能想看看我们博客上的指南,它们涵盖了几个常见用例和最佳实践。以下文章提供了很好的背景阅读,但请注意,由于生态系统中的工具持续快速发展,一些提到的工具可能已经发生变化。

安全

本项目由OpenZeppelin维护,旨在为生态系统提供安全可靠的智能合约组件库。我们通过在工程和开源最佳实践、范围和API设计、多层审查流程以及事件响应准备等多个领域的风险管理来解决安全问题。

OpenZeppelin Contracts安全中心包含了有关安全开发过程的更多详细信息。

安全政策详细说明在SECURITY.md中,并指定了如何报告安全漏洞、哪些版本将收到安全补丁以及如何及时了解这些信息。我们在Immunefi上运行一个漏洞赏金计划,以奖励负责任的漏洞披露。

我们遵循的工程准则可以在GUIDELINES.md中找到,这些准则旨在提高项目质量。

过去的审计可以在audits/中找到。

智能合约是一项新兴技术,带有高度的技术风险和不确定性。尽管OpenZeppelin以其安全审计而闻名,但使用OpenZeppelin Contracts并不能替代安全审计。

OpenZeppelin Contracts根据MIT许可证提供,该许可证免除了与项目相关的所有担保,并限制了为项目做出贡献和维护项目的人员的责任。如条款中进一步规定,你承认你对使用OpenZeppelin Contracts负全责,并承担与任何此类使用相关的所有风险。

贡献

OpenZeppelin Contracts的存在要归功于其贡献者。有很多方式你可以参与并帮助构建高质量的软件。查看贡献指南

许可证

OpenZeppelin Contracts根据MIT许可证发布。

法律

你对本项目的使用受www.openzeppelin.com/tos("条款")中的条款约束。

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多