失败状态与费用事实分开
智能合约执行失败时,预期的状态变化可能没有完成,但验证者仍处理了已经执行的计算。Ethereum Gas 文档说明费用取决于实际使用的 Gas 和价格,因此账本应同时记录失败状态与链上实际费用。
从回执读取实际字段
使用对应网络的可信区块浏览器保存哈希、状态、Gas used、有效 Gas price、区块时间和发送账户。不要用签名前看到的费用上限替代实际支出,也不要只凭钱包弹窗中的法币估值填写最终金额。
资产转移和网络费分别入账
交易失败时,目标资产转移通常没有按预期完成,但原生资产网络费可能已经扣除。记录表应分设转账数量、网络费和平台费用,缺少证据的字段保持未知,不用二者差额推测隐藏收费。
重试形成新的费用事件
后续重试会产生新的交易哈希和独立回执,应另起一行并关联原失败记录。不能把两次 Gas 相加后写成单笔交易费,也不应为了摊薄成本反复提交;是否重试要先理解失败原因。
核对要点
- 失败交易仍可能产生已用 Gas 成本
- 实际费用以链上回执而非预估上限为准
- 每次重试建立独立费用记录
资料来源
文中核对流程为本站整理,适用条件以具体产品当前官方文档为准。示例不是账户实际数据。