牢固的多重继承,找不到标识符或标识符不唯一,这是怎么回事?

时间:2020-08-02 01:08:41

标签: inheritance import solidity

我正在尝试获取random numbers,并且在同一合同中也使用chainlink alarm。为此,我想使用实体的多重继承功能。使用以下代码片段:

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).

我想念什么?

0 个答案:

没有答案
相关问题