..。如果是这样的话,这个理论上的“拒绝”交易会是什么样子呢?ETH/WEI会不会被“自动退回”回原来的地址?
发布于 2017-06-17 20:48:10
这个问题可能会被标记为一个重复,所以只是一个简短的总结,以帮助你指出正确的方向。
“只有指定的地址(Es)”:这将是存储在契约中的访问控制列表(ACL)。见是否有妥善解决的和简单的存储模式的坚固性?。合同将具有维护列表的管理功能。
“接受ETH/WEI":这将是一个payable函数。该函数将检查ACL,然后:
msg.sender在ACL上,接受、处理支付和(合同应该)记录一个事件。msg.sender不在ACL上,则拒绝。精确的拒绝形式在某种程度上是用例和风格的问题。我鼓励throw作为您的默认解决方案。在throw的情况下,天然气被销毁,资金被归还,合同状态的任何改变都会被恢复。不会发出任何事件。如果您不使用throw (例如,return false;),那么您将不得不用代码来解除这些问题。
在throw案例中,关于链上的外观,请在这里查看一下当事务耗尽气体时会发生什么。如何知道一笔交易是否经过?(无气体)
希望能帮上忙。
https://ethereum.stackexchange.com/questions/18223
复制相似问题