首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在solcjs中不支持文件导入回调

在solcjs中不支持文件导入回调
EN

Ethereum用户
提问于 2020-03-23 11:19:36
回答 1查看 2.4K关注 0票数 0

运行E:\projects\Greeter-Contract-master\contracts>solcjs --abi Greeter.sol提供:

代码语言:javascript
复制
Greeter.sol:3:1: ParserError:
Source "contracts/Mortal.sol" not found: File import callback not supported
import "contracts/Mortal.sol";
^----------------------------^

Greeter.sol:

代码语言:javascript
复制
pragma solidity ^0.6.4;

import "contracts/Mortal.sol";

contract Greeter is Mortal {
    string greeting;
   constructor( string memory _greeting) public {
        greeting = _greeting;
    }

    function changeGreeting(  string memory _greeting) public {
        greeting = _greeting;
    }

    function greet() public view returns (string memory) {
        return greeting;
    }
}

Mortal.sol:

代码语言:javascript
复制
pragma solidity ^0.6.4;

contract Mortal {
    /* Define variable owner of the type address */
    address payable owner;

    /* This function is executed at initialization and sets the owner of the contract */
    constructor() public { owner = msg.sender; }

    /* Function to recover the funds on the contract */
    function kill() public {
        if (msg.sender == owner) 
            selfdestruct(owner); 
    }
}
EN

回答 1

Ethereum用户

发布于 2020-03-23 12:32:09

import "contracts/Mortal.sol"中本质上有两个不同的问题:

  1. 对于本地文件,输入路径名必须以./开头。
  2. 由于您的文件驻留在文件夹contracts下,所以不应该将其添加到相对路径中。

因此,简单地说,更改一下:

代码语言:javascript
复制
import "contracts/Mortal.sol";

To此文:

代码语言:javascript
复制
import "./Mortal.sol";
票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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