[Ethereum] File import callback not supported import “./IERC20.sol”;

erc-20interfacesopenzeppelin-contractstruffletruffle-compile

when I try to compile my contract I see errors like this :

DemirelToken.sol

https://eksiup.com/p/4z49413damc3

here's the code :

    pragma solidity ^0.5.0;

import "node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
import "node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol";

contract DemirelToken is ERC20, ERC20Detailed {
    constructor(uint256 initialSupply) ERC20Detailed("Gold", "GLD", 18) public {
        _mint(msg.sender, initialSupply);
    }
}

I get errors like this:

node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol:3:1: ParserError: Source "node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol" not found: File import callback not supported
import "./IERC20.sol";
^——————–^
,node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol:4:1: ParserError: Source "node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol" not found: File import callback not supported
import "../../math/SafeMath.sol";
^——————————-^
,node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol:3:1: ParserError: Source "node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol" not found: File import callback not supported
import "./IERC20.sol";

Best Answer

You need to fix the path in the imports:

pragma solidity ^0.5.0;

import "../node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
import "../node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol";

contract DemirelToken is ERC20, ERC20Detailed {
    constructor(uint256 initialSupply) ERC20Detailed("Gold", "GLD", 18) public {
        _mint(msg.sender, initialSupply);
    }
}
Related Topic