作为项目的一部分,我创建了一些智能契约,并通过编写单元测试来测试这些特性,它们工作得很好。现在我需要滑动工具还是其他分析工具?什么参数决定了一个聪明的合同有多好?
发布于 2022-10-23 00:09:07
您可以编写测试来查找代码中的bug,但Ethereum审计并不是用来查找bug的。Ethereum审核用于查找代码中的安全漏洞。例如,如果您的合同易受重入攻击,如果您运行slither,您将得到以下警告:
Reentrancy in shopContract.withdraw()
External calls:
- (success) = msg.sender.call{value: balance}()
State variables written after the call(s)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities部署代码后,该代码对每个人都是开放的。如果黑客在部署后发现您的代码中存在漏洞,他们可以从您的合同中窃取资金。
https://ethereum.stackexchange.com/questions/134636
复制相似问题