[英]Can't execute Mythril on smart contract
我正在嘗試使用myth analyze <file>
與 Mythril 的簡單智能合約,但出現此錯誤:
JX:Attack juanxavier$ myth analyze Counter.sol
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.9/bin/myth", line 33, in <module>
sys.exit(load_entry_point('mythril==0.23.3', 'console_scripts', 'myth')())
File "/Library/Frameworks/Python.framework/Versions/3.9/bin/myth", line 25, in importlib_load_entry_point
return next(matches).load()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/metadata.py", line 86, in load
module = import_module(match.group('module'))
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/Users/juanxavier/Library/Python/3.9/lib/python/site-packages/mythril/interfaces/cli.py", line 26, in <module>
from mythril.mythril import (
File "/Users/juanxavier/Library/Python/3.9/lib/python/site-packages/mythril/mythril/__init__.py", line 3, in <module>
from .mythril_config import MythrilConfig
File "/Users/juanxavier/Library/Python/3.9/lib/python/site-packages/mythril/mythril/mythril_config.py", line 14, in <module>
from mythril.ethereum.interface.leveldb.client import EthLevelDB
File "/Users/juanxavier/Library/Python/3.9/lib/python/site-packages/mythril/ethereum/interface/leveldb/client.py", line 13, in <module>
from mythril.ethereum.interface.leveldb.eth_db import ETH_DB
File "/Users/juanxavier/Library/Python/3.9/lib/python/site-packages/mythril/ethereum/interface/leveldb/eth_db.py", line 3, in <module>
import plyvel
File "/Users/juanxavier/Library/Python/3.9/lib/python/site-packages/plyvel/__init__.py", line 6, in <module>
from ._plyvel import ( # noqa
ImportError: dlopen(/Users/juanxavier/Library/Python/3.9/lib/python/site-packages/plyvel/_plyvel.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '__ZTIN7leveldb10ComparatorE'
我正在使用帶有 Monterey OS 的 2014 年末 MacMini。
剛剛解決了。 我嘗試重新安裝 Mythril 並重試:
pip3 uninstall mythril
pip3 install mythril
然后錯誤變為以下:
JX:contracts juanxavier$ myth analyze Counter.sol
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.9/bin/myth", line 33, in <module>
sys.exit(load_entry_point('mythril==0.23.3', 'console_scripts', 'myth')())
File "/Library/Frameworks/Python.framework/Versions/3.9/bin/myth", line 25, in importlib_load_entry_point
return next(matches).load()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/metadata.py", line 86, in load
module = import_module(match.group('module'))
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/__init__.py", line 8, in <module>
from mythril.plugin.loader import MythrilPluginLoader
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/plugin/__init__.py", line 1, in <module>
from mythril.plugin.interface import MythrilPlugin, MythrilCLIPlugin
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/plugin/interface.py", line 2, in <module>
from mythril.laser.plugin.builder import PluginBuilder as LaserPluginBuilder
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/laser/plugin/builder.py", line 1, in <module>
from mythril.laser.plugin.interface import LaserPlugin
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/laser/plugin/interface.py", line 1, in <module>
from mythril.laser.ethereum.svm import LaserEVM
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/laser/ethereum/svm.py", line 9, in <module>
from mythril.analysis.potential_issues import check_potential_issues
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/analysis/potential_issues.py", line 1, in <module>
from mythril.analysis.report import Issue
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/analysis/report.py", line 10, in <module>
from mythril.solidity.soliditycontract import SolidityContract
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/solidity/soliditycontract.py", line 7, in <module>
from mythril.ethereum.evmcontract import EVMContract
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/ethereum/evmcontract.py", line 8, in <module>
from mythril.disassembler.disassembly import Disassembly
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/disassembler/disassembly.py", line 2, in <module>
from mythril.ethereum import util
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/mythril/ethereum/util.py", line 138, in <module>
all_versions = solcx.get_installable_solc_versions()
AttributeError: module 'solcx' has no attribute 'get_installable_solc_versions'
並通過運行解決了這個問題:
pip3 uninstall py-solc-x
在此之后,我可以成功運行神話。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.