Solidity

py-solc-x 庫的問題

  • March 31, 2022

我真的不知道我的程式碼有什麼問題,或者我安裝和導入這個庫的方式有什麼問題,但我只是不斷收到這個錯誤,我真的不知道如何處理它。我降級併升級了版本,但什麼也沒發生,同樣的錯誤。我會附上程式碼和錯誤。也許你們可以幫我解決這個問題。

from solcx import compile_standard, install_solc

with open("./SimpleStorage.sol", "r") as file:
   simple_storage_file = file.read()

# Compile our Solidity
print("Installing...")
install_solc('v0.4.11')

compiled_sol = compile_standard(
   {
       "language": "Solidity",
       "sources": {"SimpleStorage.sol": {"content": simple_storage_file}},
       "settings": {
           "outputSelection": {
               "*": {"*": ["abi", "metadata", "evm.bytecode", "evm.sourceMap"]}
           }
       },
   },
   solc_version="0.6.0",
)

print(compiled_sol)

這是錯誤:

Installing...
solc, the solidity compiler commandline interface
Version: 0.6.0+commit.26b70077.Windows.msvc
Traceback (most recent call last):
 File "C:\Users\Mihigh\lesson5\web3_py_simple_storage\deploy.py", line 10, in <module>
   compiled_sol = compile_standard(
 File "C:\Users\Mihigh\AppData\Local\Programs\Python\Python310\lib\site-packages\solcx\main.py", line 143, in compile_standard
   stdoutdata, stderrdata, command, proc = solc_wrapper(
 File "C:\Users\Mihigh\AppData\Local\Programs\Python\Python310\lib\site-packages\solcx\utils\string.py", line 78, in inner
   return force_obj_to_text(fn(*args, **kwargs))
TypeError: solc_wrapper() got an unexpected keyword argument 'solc_version'
PS C:\Users\Mihigh\lesson5\web3_py_simple_storage> 

好吧,您似乎有錯誤的“install_solc”您是否嘗試過:

install_solc("0.6.0")

問題來自這條線

solc_version="0.6.0"

因為 py-solc-x 文件說,如果沒有給出 (solc_version),則使用目前活動的版本。所以省略這一行,一切都會正確編譯。

您甚至安裝了與您在此處指定的版本不同的 solc 版本這一事實很 install_solc('v0.4.11')重要。

希望這可以幫助。

引用自:https://ethereum.stackexchange.com/questions/111905