首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在草帽项目中运行mythril

无法在草帽项目中运行mythril
EN

Ethereum用户
提问于 2022-04-25 12:23:05
回答 2查看 1K关注 0票数 2

我在当地系统上有个硬汉计划。为了运行Mythril安全分析,我使用以下命令:

神话分析合同/MyFile.sol-执行-超时900接收以下错误:

"@openzeppelin/contracts/token/ERC721/ERC721.sol“:ParserError: ParserError未找到:文件未找到。搜索了以下地点:"“。

如何在命令中包括openzeppelin和其他文件导入位置?

Mythril版本v0.22.43

EN

回答 2

Ethereum用户

发布于 2022-05-18 02:31:48

正如前面提到的这里,神话并不知道@openzeppelin是什么,您必须将其映射到导入的契约的显式路径。您需要指定node_modules的路径,在其中显示@openzeppelin契约,以帮助神话将@openzeppelin字符串替换为原始路径并找到它们。

要做到这一点,您可以创建具有以下内容的具有映射的.json文件(例如,在项目根中):

代码语言:javascript
复制
{   
"remappings": [ "@openzeppelin/=/share/node_modules/@openzeppelin/" ]
}

*在我的例子中,绝对路径从/share/...开始,因为我使用了坞卷。

将此文件路径作为选项--solc-json /path/to/remappings/file.json添加到analyze命令中。

使用docker的最终命令如下:

代码语言:javascript
复制
docker run -it -v $(pwd):/share  mythril/myth analyze  /share/Contract.sol --solc-json /share/remappings.json

(我从项目目录运行了docker容器,但在您的情况下也应该工作)

没有docker的最终命令几乎是相同的:

代码语言:javascript
复制
myth analyze  /path/to/Contract.sol --solc-json /path/to/remappings.json
票数 4
EN

Ethereum用户

发布于 2022-06-08 19:49:36

如果您使用的是:"@rari-capital/solmate/src/utils/SafeCastLib.sol“的映射,如何创建路径?

我似乎无法理解你用来创建重新映射的框架?

@最佳领航员

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/126853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档