Solidity
使用多個 solc 版本建構?
我的代幣和基本設置腳本是在solidity 0.8.0 中建構的,我剛剛用OpenZeppelin 下載了GSN,因為我需要一個平台來資助使用者的一些事情。現在我無法編譯,因為它告訴我有不同的 SOLC 版本。這種情況迫使我將項目拆分為代幣(其中很少有合約)和平台,將其降級到 0.6.10 並單獨導出。為了使它工作,我需要在項目之間複製和粘貼介面,在遷移中粘貼原始地址,這會使整個項目變得一團糟。如何在一個項目中建構所有內容?
我不會推薦這個,因為功能會隨著版本的變化而變化。
但是如果你想從一個單一的版本編譯你的整個項目
solidity
,你可以pragmas
在你的solidity文件中設置如下:// SPDX-License-Identifier: MIT pragma solidity >=0.4.22 <0.9.0;
在您的 truffle 配置中,將編譯器版本設置
pragma
為此將根據您的智能合約自動檢測並選擇正確的編譯器。module.exports = { … compilers: { solc: { version: "pragma" } } };