此外, 在使用多重组合的合约时, 被调用的合约也可能修改调用合约所依赖的另一个合约的状态.
Gas限制和循环
在以太坊智能合约中, 每一步操作是要求用户以Gas的形式付出相应的代价....因此设计者必须考虑到这一点, 可以通过限定最大循环次数方式, 来避免发生对智能合约的某次调用不能在Gas限制之内执行完毕的情况.
tx.origin和msg.sender
Solidity提供两两个方式来获取调用者的身份...不过这两者有明显的区别. tx.orgin是用来获取发起Transaction的账户地址, 而msg.sender只能获取上一级调用者的地址....充分的容错机制
使用Fail-Safe模式
所谓Fail-Safe, 就是在智能合约出现异常情况下, 能尽可能保障合约中数据的安全....一旦自检查函数执行出现异常, 那么要能自动的触发Fail-Safe模式, 这是可以将交易相关的函数禁用, 只允许指定合约的创始人或一个可信的第三方控制
限制合约中数字资产的数量
最好不要在智能合约中存储大量的数字资产