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

AccessControl在继承PauserPausable合同时被称为AccessControlUpgradeSafe?AccessControlUpgradeSafe说Identifier not found or not unique会出错呢?这与我使用VScode这一事实有关吗?还是因为AccessControl的openzeppelin合同已经更新为0.8.0,PauserPausable合同是使用0.6.12构建的(我在Openzeppelin的Access Control合同上将pragma solidity 0.8.0更改为pragma solidity 0.6.12,以使其在VScode上编译)。我找不到原来的0.6.12版本)?AccessControlUpgradeSafe和PausableUpgradeSafe更改为AccessControl和Pausable时,错误就消失了,但是一个新的错误出现在我的initializer修饰符上,称之为undeclared identifier。这一切为什么要发生?发布于 2022-07-09 16:37:10
OpenZeppelin有两套契约:常规版本和可升级版本。见与升级一起使用。这些合同存放在单独的仓库中,以避免将它们混合在一起,不必要地造成麻烦。
最大的区别在于合同是如何部署和初始化的。可升级版本需要对EVM和一般可升级合同有更深入的了解,因此对于更高级的用户来说也是如此。
https://ethereum.stackexchange.com/questions/131361
复制相似问题