区块链安全-Solidity安全建议
虽然通常很容易构建能够正常运作的软件, 但更难的是确定没有人能够以不是预期的方式使用它。
Solidity中,这更加重要,因为你会使用智能合约来 控制token,甚至可能是更加宝贵的东西。 此外,每次 智能合约的执行,都是公开的。并且, 代码也常常是开源的。
当然,你总是必须考虑这个问题有多大: 你可以用一个web服务来和智能合约进行对比,这个web服务向公众开放 (也可能是向恶意攻击者),甚至可能是开源的。 如果您只是在那个web服务上存储您的杂货列表, 您可能没有必要 关心太多,如果你使用这个web服务处理你的银行账户, 你应该更加谨慎。
本节将列出一些陷阱和一般安全建议,但 当然,永远不可能是完整的。 还有,请记住,即使你的智能 合约代码是没有bug的,编译器或平台本身可能有一个 bug。 编译器中一些已公开的安全错误列表 可以在 :ref:list of known bug<known_bugs>中找到, 这也是 机器可读的。 注意有一个覆盖Solidity编译器的代码生成器的 bug bounty 程序 。
