我开始在youtube上学习Dapp大学指南的稳固性,第20分钟,我就遇到了编写Truffle的问题。
我克隆了这个存储库:git clone -b starter-code https://github.com/dappuniversity/defi_tutorial ./
,这是到本教程的YT链接:https://www.youtube.com/watch?v=CgXQC4dbGUE
本指南中的块菌配置如下所示:
require('babel-register');
require('babel-polyfill');
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 7545,
network_id: "*" // Match any network id
},
},
contracts_directory: './src/contracts/',
contracts_build_directory: './src/abis/',
compilers: {
solc: {
optimizer: {
enabled: true,
runs: 200
},
evmVersion: "petersburg"
}
}
}
在指南的这一点上,编译成功了,但是我得到了一个错误:
Error: Truffle is currently using solc 0.5.16, but one or more of your contracts specify "pragma solidity ^0.5.0
因此,我转到Tru显文档,我发现我可以在配置中指定solc版本,所以我添加了version
字段,我的配置现在看起来如下:
// ...
compilers: {
solc: {
version: "0.5.0",
optimizer: {
enabled: true,
runs: 200
},
evmVersion: "petersburg"
}
}
// ...
我的编译也失败了,还有一个错误,但这次是用evmVersion
:
Invalid EVM version requested.
Compilation failed. See above.
Truffle v5.1.39 (core: 5.1.39)
Node v16.9.1
现在,我已经将EVM版本从"petersburg"
更改为"byzantium"
,并将进入另一个错误编译失败:Error: Truffle is currently using solc 0.5.0, but one or more of your contracts specify "pragma solidity ^0.5.0
有人能告诉我如何处理这个错误吗?
发布于 2021-11-16 11:19:50
将EVM版本从“彼得堡”更改为"byzantium“,将编译器版本更改为"0.5.0”对我有效。
发布于 2021-11-07 16:01:45
您需要下载所需的编译器版本,或者更改契约稳固版本。
发布于 2021-11-08 10:27:59
将truf-config.js上的配置更改为您的契约稳固版本
https://ethereum.stackexchange.com/questions/113056
复制相似问题