引子: 在执行有付款等行为的时候,记得在函数后面加上 payable。
刚开始,我在执行transferCollect 批量归集的时候,发现函数执行不成功。
会出现:
进入链接查看,发现确实合约出错了:
报错:
Warning! Error encountered during contract execution [Reverted]
我一直找了好久,才发现是 function transferCollect(address[] _from, uint256 _value) 函数后面没有加上 payable。
正确的函数形式是:
function transferCollect(address[] _from, uint256 _value) payable public
然后在编译,部署,发现执行成功了。
https://rinkeby.etherscan.io/tx/0xc3f34ec28181660e9a5b8110991afb824ec32f99e5e446eef244d0644e1ebfe5