交易失败以后,钱包里少掉的 DUSK,算不算白花了👻?

我翻 Dusk 的 Tokenomics 页面,看到一句很容易漏掉的规则:交易如果耗尽 gas,会回滚,但已经消耗的 gas 照收不误。用户嘴里说的“失败”,链上至少有两种结果。

Gas limit 是这次调用最多能干多少活,gas price 是每单位活的价格。费用按实际消耗算,没用完的不扣。这套规则本身没啥问题,麻烦的是钱包通常只给你一个红底白字的“Failed”。

以前我肯定怪用户没留够手续费。现在回头看,产品有没有把失败原因说清楚,直接决定用户还愿不愿意再点一次。是工作量不够,还是权限、参数、网络状态的问题,处理方式完全不一样。

说个场景。有人拿少量 DUSK 调合约,gas limit 设太低。交易失败,余额少了,链上状态没变。他再试一次,又付一笔。如果根源是参数写错了,手续费只会继续烧。

所以我真不觉得 Dusk 的 gas 机制能简单概括成“失败也要收费”。协议已经把未使用的退回、耗尽部分收费的边界写清楚了,产品得把这条边界翻译成人话。@Dusk 要是能在失败记录里同时展示 gas limit、实际消耗和失败原因,$DUSK 的使用门槛能少一层误会。#dusk