我写了一个简单的智能合约,并尝试用松露迁移它。
$ truffle migrate
Compiling .\contracts\Election.sol...
Compiling .\contracts\Migrations.sol...
/D/ethereum/electiondemo/contracts/Migrations.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.5.0+commit.1d4f565a.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity ^0.4.24;
^----------------------^
Compilation failed. See above.`enter code here`
Truffle v5.0.0 (core: 5.0.0)
Node v8.11.1坚实的版本是0.5.0。请查找以下智能合约代码:
pragma solidity ^0.5.0;
contract Election {
// Read/write candidate
string public candidate;
// Constructor
constructor ( ) public {
candidate = "Candidate 1";
}
}发布于 2018-12-30 16:05:25
得到了解决方案:在truffle.js中。您需要指定实度版本
module.exports = {
// See <http://truffleframework.com/docs/advanced/configuration>
// for more about customizing your Truffle configuration!
networks: {
development: {
host: "127.0.0.1",
port: 7545,
network_id: "*" // Match any network id
}
},
compilers: {
solc: {
**version: "0.4.24"** // ex: "0.4.20". (Default: Truffle's installed solc)
}
}
};在您的智能合同中提供相同的需求
发布于 2019-01-09 04:54:27
将以下行添加到truffle-config.js
{
compilers: {
solc: {
version: "0.4.24" // ex: "0.4.20". (Default: Truffle's installed solc)
}
}
}发布于 2021-07-11 04:56:57
这就是我在合同上使用的
pragma solidity >=0.7.0 <0.9.0;在配置文件中
compilers: {
solc: {
// default is 0.5.16
version: ">=0.7.0 <0.9.0", // Fetch exact version from solc-bin (default: truffle's version)
}
}
},https://stackoverflow.com/questions/53976057
复制相似问题