Я пытаюсь использовать slither по адресу basescan
, например:
https://basescan.org/address/0x92E20C3534535db17D4c7c622538eB0930544230
Обычно, учитывая etherscan
адреса, я просто запускаю:
slither <address>
Однако, учитывая basescan
, polygonscan
, bscscan
и другие, я получаю следующую ошибку:
Source code not available, try to fetch the bytecode only
Traceback (most recent call last):
File "/home/box/.local/bin/slither", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/box/.local/lib/python3.12/site-packages/slither/__main__.py", line 753, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
File "/home/box/.local/lib/python3.12/site-packages/slither/__main__.py", line 859, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/box/.local/lib/python3.12/site-packages/slither/__main__.py", line 107, in process_all
) = process_single(compilation, args, detector_classes, printer_classes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/box/.local/lib/python3.12/site-packages/slither/__main__.py", line 80, in process_single
slither = Slither(target, ast_format=ast, **vars(args))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/box/.local/lib/python3.12/site-packages/slither/slither.py", line 141, in __init__
compilation_unit_slither = SlitherCompilationUnit(self, compilation_unit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/box/.local/lib/python3.12/site-packages/slither/core/compilation_unit.py", line 55, in __init__
self._language = Language.from_str(crytic_compilation_unit.compiler_version.compiler)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/box/.local/lib/python3.12/site-packages/slither/core/compilation_unit.py", line 45, in from_str
raise ValueError(f"Unknown language: {label}")
ValueError: Unknown language: unknown
Но исходный код доступен в этих обозревателях блокчейнов.
Slither поддерживает сканирование контрактов, размещенных только на Etherscan — https://github.com/crytic/slither/wiki/Usage#etherscan.
Это пример многоугольника: скользкий поли: 0x6B15A0C1Fe536B5457ceA217B699b5Eb32F1d1ef замените поли на базу. Другие цепочки следующие: mainet,optim,goerli,sepolia,tobalaba,bsc,testnet.bsc,arbi,testnet.arbi,poly,мумбаи,avax,testnet.avax,ftm,goerli.base,base,gno,polyzk,blast