inheritance - Solidity 中的多重继承,标识符未找到或不唯一,这是怎么回事?
问题描述
我正在尝试获取随机数并在同一合约中使用链环警报。为此,我想使用solidity 的多重继承特性。使用我的代码的以下拼接:
pragma solidity ^0.6.2;
import "https://raw.githubusercontent.com/smartcontractkit/chainlink/develop/evm-contracts/src/v0.6/VRFConsumerBase.sol";
//import "github.com/smartcontractkit/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol";
contract Lottery is VRFConsumerBase, ChainlinkClient {
在remix中对此进行测试,我收到以下错误:
browser/lottery4.sol:6:38: DeclarationError: Identifier not found or not unique.
contract Lottery is VRFConsumerBase, ChainlinkClient {
^-------------^
我尝试混合导入和继承顺序,但没有成功。我只能假设它与进口有关。
当我取消注释第二个导入时,即:
import "https://raw.githubusercontent.com/smartcontractkit/chainlink/develop/evm-contracts/src/v0.6/VRFConsumerBase.sol";
import "github.com/smartcontractkit/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol";
我收到以下错误,我只假设这是由于继承。
browser/lottery4.sol:4:1: DeclarationError: Identifier already declared.
import "github.com/smartcontractkit/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol";
^----------------------------------------------------------------------------------------^
https://raw.githubusercontent.com/smartcontractkit/chainlink/develop/evm-contracts/src/v0.6/interfaces/LinkTokenInterface.sol:3:1: The previous declaration is here:
interface LinkTokenInterface {
^ (Relevant source part starts here and spans across multiple lines).
我错过了什么?
解决方案
推荐阅读
- android - audioserver 错误阻止 android ROM 启动
- python - Ansible 基本动态清单
- java - 如何解决具有地图而不是有效的json错误请求的Java resttemplate帖子错误400
- java - 在firebase实时数据库中创建相同的节点
- java - SLF4J:未找到 SLF4J 提供程序
- spring-boot - 使用 AXL 的 Spring Boot 项目 (Maven) - NetBeans 找不到生成的 AXL 包/类
- intellij-idea - IntelliJ 更新到新版本失败
- android - android主屏幕上的网站快捷方式阻止在chrome中打开
- visual-studio-2019 - 有没有办法让 Premake 使用 Visual-Studio 项目模板?
- swift - 了解基于文档的应用程序中的核心数据