GTokenTool全网最好的代币发行工具平台
当前位置:首页 >> 加密百科 >> 什么是 OpenZeppelin?

什么是 OpenZeppelin?

admin 加密百科 61

什么是 OpenZeppelin?

OpenZeppelin 是一个用于构建安全 dApp 的开源平台。该框架提供了创建和自动化 Web3 应用程序所需的工具。此外,任何规模的公司都可以参考 OpenZeppelin 的审计服务来找到行业中的最佳实践。此外,OpenZeppelin 的客户包括以太坊基金会和 Coinbase 等大公司。它为以太坊项目提供安全性、可靠性和风险管理,并以“保护开放经济”为使命。它会根据您的需求进行安全审计,并实施安全措施,以确保您的 dApp 安全。在识别出代码中的潜在问题后,他们会提供一份报告,其中包含最佳实践和建议,以消除系统中的弱点。

此外,OpenZeppelin Defender 是 OpenZeppelin 的 Web 应用程序之一。它是一个用于保护和自动化智能合约操作的平台。使用 Defender,您可以与您的团队协作,定义不同的工作流程,手动与合约交互,并进行金融交易。此外,Defender 可以访问用户友好的 UI 和发送交易和创建自动化脚本所需的基础架构。此外,OpenZeppelin 还建立了一个令人印象深刻的智能合约开发库,目前为 3,000 多个公共项目提供支持。

OpenZeppelin 开发人员使用Solidity的编程语言在其库中开发模块化和可重复使用的合约,包括与 ERC-20 相关的 OpenZeppelin 合约。此外,社区还测试和审查了根据 OpenZeppelin 的说法,业内最受欢迎的合约。既然我们已经回答了“什么是 OpenZeppelin”的问题,现在是时候深入研究它的功能了。最后,我们将详细说明如何将其与Moralis的 Web3 平台集成。 

如何安装 OpenZeppelin?

要创建一个带有智能合约的新 OpenZeppelin 项目,您必须首先在系统上安装“命令行界面”(CLI)。由于 CLI 是节点项目的依赖项,因此您需要安装 npm(节点包管理器)。OpenZeppelin 建议开发人员在本地而不是全局安装 CLI。这样,他们可以为每个项目使用不同版本的 CLI,并避免潜在的全局依赖问题。 

要安装 CLI,请输入以下命令:

$ npm install @openzeppelin/cli

要初始化新的 OpenZeppelin 项目,请在终端内(节点项目内)输入以下命令: 

$ npx openzeppelin 初始化

如果您想更深入地了解安装 CLI,请访问OpenZeppelin 的文档

下一步,指定项目的名称和版本,然后设置一些文件和目录来运行新项目。如前所述,OpenZeppelin 的智能合约是用 Solidity 编写的,因此文件名将带有“sl”后缀。要检查错误并编译合约,请使用命令“oz compile”。如果您忘记编译合约,CLI 会执行此操作,因为它会不断监视合约的变化。每当您运行命令并更改合约时,它都会自动管理编译。

接下来,在以太坊上创建一个用于 dApp 开发的本地区块链。最好的模拟器之一是Ganache,我们有一篇关于它的详细文章。只需使用命令行“npm install ganache-cli”即可安装它。要使用 Ganache 启动新的开发网络,请在单独的终端中输入以下命令:

$ npx ganache-cli——deterministic

在 Ganache 上设置新的开发网络后,您可以使用命令“oz create”创建新的合约。

什么是智能合约? 

在讨论 OpenZeppelin 合约之前,我们必须先了解一下智能合约的概念。1997 年,计算机科学家兼密码学家 Nick Szabo 首次创造了“智能合约”一词。它指的是存储在分布式账本中的合约。智能合约与现实世界的合约相同,但使用编程语言编写并存储在区块链中。众筹网站是一个很好的例子,可以说明现实世界和智能合约之间的区别。根据其商业模式,众筹网站扮演着项目所有者和金融赞助商之间的中介角色。

项目方会指定一个筹资目标,并开始向资金支持者募集资金。募资网站将位于项目方和资金支持者之间,它将把佣金和资金交给产品团队,双方都需要信任该网站。如果达成目标,它将把钱转给项目方;否则,将钱退还给赞助商。在智能合约中,没有第三方,程序本身管理筹款。每当它实现筹资目标时,它就会停止流程并将钱转给产品团队。当项目无法筹集到所需的资金时,它将把钱退还给支持者。在这些合约中,不需要法律系统或执法机构。开发人员将协议条款插入合约代码中,合约代码会自动执行。

什么是 OpenZeppelin 合约?

使用智能合约在匿名方之间进行的交易是可信的、不可变的、分布式的、可追踪的和不可更改的。换句话说,在发送交易后,没有人可以操纵合约。那么,什么是 OpenZeppelin 合约呢?同样,OpenZeppelin 合约是用 Solidity 为以太坊和其他 DLT(分布式账本技术)编写的智能合约库。这些合约是经过社区审查的计算机程序,是 dApp 开发的安全选择。这些合约完全模块化且可重复使用,包含最常用的 ERC(ERC 代表“以太坊征求意见稿”)标准实现。这意味着公司不需要为智能合约开发安全功能和工具。相反,他们可以专注于部署存储在 OpenZeppelin 档案中的预打包智能合约。 

OpenZeppelin 合约向导一个在线交互式生成器,您可以在其中引导合约。该向导包含五个不同的部分,包括代币选择、设置、功能、访问控制和交互式代码显示。目前,该向导支持三种 ERC 标准:

  • ERC20——遵循 EIP-20 的可替代代币标准,例如法定货币。

  • ERC721 –是遵循 EIP-721 的 NFT 代币标准。

  • ERC1155 –代表可替代和不可替代代币。它被称为多代币合约,遵循 EIP-1155。

每个 OpenZeppelin 合约都有一个稳定的 API,您可以将它们全部导入到您的以太坊项目中。该平台的开发人员建议用户不要更改代码,而是从 OpenZeppelin 获取并保留原有代码。 

代币标准和 ERC-20 相关的 OpenZeppelin 合约

代币是一套实施在智能合约中的规则和标准。用户可以在以太坊的区块链生态系统中出售、购买和交易这些代币。它们代表着各种各样的资产,包括欠条、代金券、时间、虚拟宠物,甚至是金钱和服务等有形物品。

ERC-20 是以太坊社区为可替代资产开发的一种流行代币标准。可替代代币与非可替代代币 ( NFT ) 完全相反。你可以将可替代代币与另一种可替代代币互换,例如用一个比特币互换另一个比特币,因为它们具有同等价值。但是,对于唯一的非可替代代币,你不能用其他代币替换它们。例如,你的绘图是非有形的,你找不到与它们完全相同的绘图。基于 ERC-20 的 OpenZeppelin 合约跟踪可替代代币,适用于与投票权和质押有关的智能合约。OpenZeppelin 的 ERC-20 合约代表具有各种扩展的 ERC-20 接口的基本实现。每个扩展都具有不同的功能。例如,“ERC20Detailed”合约向 OpenZeppelin 的 ERC-20 合约添加了包括名称、符号和小数在内的详细信息。另一个是“ERC20Capped”,用于指定具有最大限制的代币地址。 

OpenZeppelin 示例用例

安装 OpenZeppelin 后,您可以在各种以太坊项目中使用其经过审查的合约。OpenZeppelin 示例用例包括但不限于以下内容:

  • 访问限制– 控制访问是 OpenZeppelin 的主要用例之一。此合约允许您确定谁可以访问系统中的特定资源和功能。借助此功能,您可以将投票、铸造、发送交易等限制到特定实体。

  • 所有权– “Ownable” 是另一个 OpenZeppelin 合约,您可以在合约中定义所有权。换句话说,部署此合约将帮助特定实体获得某些功能。使用基础合约的扩展,您还可以将所有权从一个帐户转移到另一个帐户。借助此合约的另一个扩展,您可以放弃之前的所有权。 

  • 计算– “SafeMath” 是一个有用的 OpenZeppelin 合约,可帮助进行精确的计算。此库在 Solidity 中编码时特别有用,可防止运算溢出。当给定算术运算中的值不在允许范围内时,就会发生这种情况。 

  • 代币– OpenZeppelin 为开发人员创建了所需的基础设施,以制作可交易的代币并将其分配给网络内的参与者。使用此合约,您可以监控价格、指定代币转移方法、验证购买等。 

  • 付款– 您是否正在开发一款有多个受益人的 dApp?使用 OpenZeppelin “paymentSplitter” 合约,您可以将 dApp 购买收入发送给不同的各方。

  • 加油站网络– 此合约可帮助您开发 dApp,您将代表用户付款。通过这种方式,用户无需在钱包中持有 ETH,而由您为他们付款。 

将 OpenZeppelin 库与 Moralis 集成

如前所述,OpenZeppelin 为在以太坊网络或其他区块链上构建 dApp 的开发人员提供经过审查的合约。由于 Moralis 与以太坊完全兼容,您可以在 Moralis 项目中使用所有模块化 OpenZeppelin 合约。Moralis 的优秀平台提供了构建区块链应用所需的必要工具和服务。借助该平台,您可以访问 UI、用户身份验证、数据管理工具、云存储和Web3

对于用户身份验证,您还需要在浏览器中设置MetaMask。如果您没有钱包地址,请从“ https://metamask.io/ ”下载 MetaMask。一切设置完毕后,您可以使用 Moralis 部署 OpenZeppelin 合约。此外,您还需要使用Remix编写、编译和调试代码,该代码以 Solidity 编写。您可以在浏览器中打开它,也可以前往以太坊的官方网站。

作者:GTokenTool一键发币平台

交流群:https://t.me/+Kz4u3xoDpFo3ZWY1

同类推荐