Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

Solidity已知bug列表

蓝天天使2017
111 0 0
在下面,你可以找到一个 JSON 格式的列表,上面列出了 Solidity 编译器上一些已知的安全相关的 bug。
* H. g/ ~" ~# X, e+ x. K该文件被放置于 Github 仓库 _ 。. a4 X$ N  U# c5 b& ]1 t. [
该列表可以追溯到 0.3.0 版本,只在此版本之前存在的 bug 没有被列入。1 P" S2 J4 |- }$ _% p/ t7 e+ K
这里,还有另外一个 bugs_by_version.json _ 文件。) |/ i$ c4 P0 I( r# i
该文件可用于查询特定的某个编译器版本会受哪些 bug 影响。4 o0 t' J9 _: w0 R
合约的源文件检查工具以及其他与合约交互的工具,需基于以下规则查阅上述 bug 列表文件:$ o  ^, K" c7 R6 j% e
如果合约是用每日构建版本的编译器编译,而不是发布版本的编译器,那就有点可疑了。上述bug列表不跟踪未发布或每日构建版本的编译器。如果一个合约并不是由它被创建时点的最新版本编译器所编译的,那么这也是值得怀疑的。对于由其他合约创建的合约,您必须沿着创建链追溯最初交易,并使用该交易的日期作为创建日期。高度可疑的情况是,如果一份合约由一个包含已知 bug 的编译器编译,但在合约创建时,已修复了相应 bug 的新版编译器已经发布了。0 a# ?, X: ?# y; M& K

- t4 s4 c/ d2 e1 j9 S- E下面这份包含已知 bug 的 JSON 文件实际上是一个对象数组,每个对象对应一个 bug,并包含以下的 keys :
" n; D+ l( K/ I) b3 _* r* }5 ~3 w& hname7 q7 Q: T# Q! q. t
赋予该 bug 的唯一的名字summary* O: _$ w( `3 L3 @
对该 bug 的简要描述description7 o! B* u5 K+ y6 u5 M: J9 J
对该 bug 的详细描述link9 }5 t$ V3 |# Y3 h0 ?
包含更多详尽信息的链接,可选introduced
7 B( W8 o9 b& i; t, E) [第一个包含该 bug 的编译器的发布版本,可选fixed
. U' Z5 P8 L2 `  u第一个不再包含该 bug 的编译器的发布版本publish
: b; {8 u8 E6 v# R7 n该 bug 被公开的日期,可选severity
7 s" f% h7 v4 j1 c1 y: Hbug 的严重性: very low, low, medium, high。综合考虑了在合约测试中的可发现性、发生的可能性和被利用后的潜在损害。conditions  b8 ^5 c- Y' y
触发该 bug 所需满足的条件。当前,这是一个包含了 optimizer 布尔值的对象,这意味着只有打开优化器选项时,才会触发该 bug。
& r$ I8 u" z2 {% ]9 \" M如果没有给出任何条件,则意味着此 bug 始终存在。" X* A3 u7 `- J% f' k) r
) r% B/ x# S4 h3 J4 Y
原文 https://github.com/etherchina/solidity-doc-cn/blob/develop/bugs.rst
标签: Solidity
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

蓝天天使2017 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10