合约编程误区
介绍常见的合约编程错误带来的风险。
继承覆盖关键变量
pragma solidity >=0.4.22 <0.6.0;
contract owned {
address public owner;
constructor() public {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner, "owner calls only!");
_;
}
}
contract XXX_POS is owned {
address private owner;
function distributeDividends(uint256 amount)
public
onlyOwner
returns (bool)
{
require(address(this).balance >= amount, "!invalid withdraw amount");
owner.transfer(amount);
return true;
}
}使用可预测变量获取随机数
最后更新于