首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助理解Openzeppelin合同继承

需要帮助理解Openzeppelin合同继承
EN

Ethereum用户
提问于 2022-07-07 16:34:39
回答 1查看 20关注 0票数 0

我正在处理一个名为Goldfinch的协议的源代码,对于openzeppelin合同的继承,我有几个问题。

这就是我一直在考虑的代码:

  1. 为什么AccessControl在继承PauserPausable合同时被称为AccessControlUpgradeSafe
  2. 我见过其他合同也会做同样的事情,所以我假设,尽管名称发生了更改,但合同仍然会为其他人编译。如果是这样的话,为什么AccessControlUpgradeSafeIdentifier not found or not unique会出错呢?这与我使用VScode这一事实有关吗?还是因为AccessControl的openzeppelin合同已经更新为0.8.0PauserPausable合同是使用0.6.12构建的(我在Openzeppelin的Access Control合同上将pragma solidity 0.8.0更改为pragma solidity 0.6.12,以使其在VScode上编译)。我找不到原来的0.6.12版本)?
  3. 当我将AccessControlUpgradeSafePausableUpgradeSafe更改为AccessControlPausable时,错误就消失了,但是一个新的错误出现在我的initializer修饰符上,称之为undeclared identifier。这一切为什么要发生?
EN

回答 1

Ethereum用户

发布于 2022-07-09 16:37:10

OpenZeppelin有两套契约:常规版本和可升级版本。见与升级一起使用。这些合同存放在单独的仓库中,以避免将它们混合在一起,不必要地造成麻烦。

最大的区别在于合同是如何部署和初始化的。可升级版本需要对EVM和一般可升级合同有更深入的了解,因此对于更高级的用户来说也是如此。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/131361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档