BTCV繁华资讯 > 货币新闻 > 为什么我钱包里还有ETH,但是交易无法确认?_

为什么我钱包里还有ETH,但是交易无法确认?_

作者:_btcv-繁华资讯来源:_btcv-繁华资讯 货币新闻 2020年09月24日

当Uniswap向20多万个用户地址砸钱的时候,或许很多人都在想,“这个煤气费太高了。那一天是以太博物馆历史上值得纪念的一天,燃气推荐的最大值是1000GWEI,是历史最高点。在见证历史和国家领空投票的上午,很多人都遇到了

当Uniswap向20多万个用户地址砸钱的时候,或许很多人都在想,“这个煤气费太高了。

那一天是以太博物馆历史上值得纪念的一天,燃气推荐的最大值是1000 GWEI,这是历史上的最高点。

在见证历史和竞拍国家空域的上午,很多人遇到了煤气费的问题,这已经不是问题,问题是钱包里的煤气费最大推荐值在计划时间内卖不出去。每个人的Metamask都说明他们都在等待,一圈又一圈都很烦。

为什么用默认的煤气费额度,却还是不能马上交易?本文将详细阐述艺博会的交易费率机制以及在艺博会举办过程中遇到的问题。

Gas 的逻辑

我们应该从以太网账户开始。

以太网中有两种类型的帐户,即外部拥有帐户和合同帐户。

外部账户是指由用户使用并由私钥持有者控制的账户。合同账户是指具有应用逻辑的智能合同,由合同代码控制(通常归项目方所有)。当用户使用DeFi应用程序时,他们正在使用自己的帐户与DeFi项目的智能合同进行交互。

各种账户可以自由互动,钱包可以转账,合同可以互相调用。链上的每一次交互都需要消耗一定的计算量,这是由计算难度决定的,Gas是计算的度量单位。比如加法运算简单,消耗3 Gas,除法运算比较复杂,需要5 Gas。

每单位燃气都有对应的价格,即燃气价格,燃气价格以卫为准。用户需要购买ETH支付燃气费用。1 ETH=1e18 Wei,我们通常看到的GWei单位是1e9Wei。通常,钱包软件将通过历史燃气价格来估计用户发起的交易的成本。

为什么我钱包里还有ETH  但交易就是确认不了?

为了避免整个节点的集中,追求架构分散化的区块链将严格限制每个区块的容量。例如比特币的区块大小限制和以太网的区块气体限制。在编写有节奏的BlockBeats时,Ethereum中每个块的Block Gas Limit约为1200万Gas,这是每个块的总计算量的上限。平均来说,每15秒钟就产生一个块。当事务需求超过块容量时,用户需要竞争每个块中的资源,以便尽快确认他们的事务。这时候用户会对燃气竞价,矿工会优先考虑燃气价格高的交易。

为什么我钱包里还有ETH  但交易就是确认不了?

通常在转账的时候,用户会看到钱包会提高调整Gas Limit的选项。与区块天然气限额不同,天然气限额是指用户在交易中可以接受的天然气使用上限。因为有时候合同可能会有漏洞,一笔交易会被无休止地计算。如果没有燃气限额,该交易将消耗用户钱包中的所有ETH。矿工收取的费用通常在实际执行交易时根据交易使用的燃气量结算,燃气限额中剩余的ETH将返还给用户账户。

因此,我们可以得出结论:消耗的ETH成本=燃气费/交易费)=交易使用的燃气*燃气价格。

了解了Ethereum的手续费机制和账户类型,再来看看用户在交易时经常遇到的问题。

待确认交易 (Pending)/加速交易?

每当用户启动一个事务,该事务就被放入一个事务内存池。如上所述,矿工将优先考虑池中天然气价格最高的交易(矿工的盈利能力)。因此,用户设定的燃气价格决定了交易打包和执行的速度。当网络拥挤时,由于燃气价格飙升,用户的交易可能会处于长期待确认的状态。为了尽快发出待处理的交易,用户可以选择支付更多的Gas Price来加快交易速度(节奏注:理解为给矿工更多的奖励来达到插队的目的)。

如何加快交易速度?为了更详细地理解加速事务的逻辑,我们需要理解另一个参数:Nonce。每个帐户发送的交易将有一个按顺序排列的交易号-随机数。从0开始,每次启动转账时,该账户的Nonce值将增加1。

为什么我钱包里还有ETH  但交易就是确认不了?

当用户想要加速交易时,在以太网钱包中,用户可以选择加速交易的选项,然后他将被要求支付更高的煤气费。用户同意后,相当于发起新的交易,新交易的Nonce值与待确认交易的Nonce值相同。

根据以太网的规定,Nonce值是连续不跳的,同一地址的每笔交易的Nonce值不能重复,所以矿工会对新生成的交易进行打包,新的交易打包确认后,将丢弃之前Gas Price较低的交易。

如果用户不想加速交易,只要交易仍在交易池中解包,用户可以随时选择取消交易。取消交易的逻辑和加速交易的逻辑一样。用户发起一个燃气价格较高但随机数与待确认交易相同的交易,但交易金额变为0,因此本质上取消交易的成本需要与加速交易相同的成本。

需要注意的是,在未决交易确认完成之前,后续交易需要排队等待,用户不要因为等待时间过长而重复发起多个交易。

交易失败 (Fail)

节奏区块Beats发现目前交易失败最常见的原因是交易Gas没气了。也就是说,该交易的计算金额超过了用户设置的燃气限额。一般情况下,这种情况下,交易状态会显示为失败,表示燃气已经耗尽,已支付的燃气不会退还。

有些用户可能会认为这是不公平的,但本质上矿工已经在做工作计算了,但只有一半的煤气费是不够的,所以矿工只能放弃,继续工作,但之前的工作需要支付“工资”,所以之前支付的煤气费不退大概是可以理解的。在这种情况下,用户只能再次发起交易,并提高该交易的燃气限额。

交易失败的另一种情况是,当用户发起交易转移到智能合同,但一些错误使合同无法执行时,交易将返回到Bad Instruction。

例如,当用户参与类似众筹的活动时,可能会出现以下情况:

名额已满;

或者用户未被列入白名单;

或者用户超额订阅令牌。

此时,用户设置的燃气限额将被完全用尽,最终导致交易失败。

然而,在埃瑟伦的拜占庭分叉之后,增加了一个新的算子“回复”(EIP-140)。当交易因合同错误而失败时,交易不会耗尽燃气限额设置的所有燃气,合同将被终止,剩余的燃气费用将被退还,并通知用户错误原因。

当然,如果用户钱包中的ETH金额不足以支付煤气费,交易也会被判定为失败。

在没有热点的情况下,以太网是和平的,所有的转移成本,包括时间和金额都是可控的。但是网点来了,大家在网络上会遇到各种各样的问题,气费的逻辑是新人使用钱包的最大障碍。

基本上这篇文章涵盖了燃气费会议中遇到的所有问题。连锁交易并不复杂。简单来说,如果所有操作都有问题,加钱就可以解决。

目前看来,以太博物馆的移动挖掘热潮暂时告一段落。这一运动不仅制造了泡沫,也让更多的用户习惯了钱包的使用,最终成为高频使用工具。

其实连锁交易中的问题也为钱包优化提供了空间。为新人提供“一键加速”、“一键取消”等服务,可能会在越来越多的钱包里看到。

标签: btcv交易平台