Solidity
不同編譯器版本的solidity不匹配
我目前正在使用“ Hardhat 文件”來使用正確的 Solidity 編譯器版本,但是在使用 精確編譯我的 file.sol 時
pragma solidity ^0.6.0
,我仍然遇到錯誤:module.exports = { solidity: { version: "0.6.5", settings: { optimizer: { enabled: true, runs: 1000, }, }, }, };
錯誤資訊
"Source file requires different compiler version (current compiler is 0.8.17+commit.8df45f5f.Emscripten.clang) - note that nightly builds are considered to be strictly less than the released version"
好像HardHat不能下載編譯器,請問您能幫幫我嗎?
有時您可能希望使用與提供的編譯器不同的編譯器。
solc-bin
您可以在儲存庫https://binaries.soliditylang.org/中找到所有不同的版本目前,支持使用不同版本的solidity 編譯器的四種方法。遠端,本地,節點模組和嵌入式
您可以在您使用的 vscode 設置或工作區設置中更改編譯器。
然後選擇要使用的特定版本:
**注意:**可能需要為 Visual Studio Code 安裝以下擴展之一:
*
Ethereum Solidity Language
或Solidity and Hardhat support
*由 Hardhat 團隊
建議將 Solidity 版本鎖定並指定不帶 ^(carat) 符號,如
pragma solidity 0.6.5
. 這樣可以確保始終使用特定的編譯器,使用最常測試的程式碼。它還可以防止程式碼表現出任何意外或意外的行為。