区别: assert():想象为一个过于自信的实现方式,即使有错误,也会执行并扣除gas。 require():想象为一个更有礼貌些的实现方式,会发现错误,并且原谅所犯错误(译注:不扣除 gas)。 revert():碰到无效代码后,仍将回滚所有状态,但是会用两种不同于“无效代码”方式处理:允许返回一个数值,将剩余gas返还调用者。
pragma solidity ^0.4.10;
contract PayTest {
address owner;
function useSuperPowers(){
require(msg.sender == owner);
}
}
gas不是需要ether转换一下么?我执行了一下代码,require函数会出现扣除gas(ether)?