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("条款")中的条款约束。

编辑推荐精选

TRAE编程

TRAE编程

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

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

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
下拉加载更多