如何修改或取消待处理的以太坊交易



以太坊是一个基于区块链的开源软件平台,拥有数以千计的去中心化应用程序 (DApp),为其原生加密货币以太 (ETH) 提供支持,可以在全球范围内发送和接收,而不受任何第三方干扰。

以太坊于 2013 年由俄裔加拿大程序员 Vitalik Buterin 首次概念化,旨在作为自动执行、永久和不可变 DApp 的平台,其用例从金融到游戏和艺术各不相同。

DApps 通常被称为智能合约,它是以太坊交易协议,可自动执行某些功能和操作,例如具有预定条件和协议的交易处理。发送交易、取消交易或解决未决的以太坊交易是与智能合约功能相关的操作。

什么是以太坊交易?

交易是来自账户的加密签名指令。

以太坊网络支持两种主要类型的交易:合约部署交易、无接收方的交易类型和常规交易、最简单的交易类型,用于将 ETH 从一个钱包转移到另一个钱包。

提交的常规以太坊交易包括发件人的标识符或在发件人的私钥签署交易并确认发件人已授权特定以太坊交易时生成的签名。接收地址、从发送方转移到接收方的 ETH 数量、有关以太坊交易费用的信息以及包含任意数据的可选字段都是提交的常规以太坊交易的一部分。

以太坊交易必须被挖掘才能生效,并且需要发送方支付费用。

以太坊矿工验证合法交易,以获得他们在创建新 ETH 方面的工作的奖励。当矿工解决密码(数学)难题时,交易被视为已验证。以太坊与比特币 (BTC) 一样,具有工作量证明 (PoW) 系统,可防止来自单个个人或团体的网络攻击。

用户在使用区块链时支付交易费用的义务可以保护以太坊网络免受草率或恶意计算任务的影响,例如用户通过大量无目的交易向区块链发送垃圾邮件。

以太坊交易生命周期

以太坊交易经历一系列状态,从未知状态开始,直到在区块中得到确认。

未知: 未知状态是指网络尚未看到或处理的交易。

待办的: 当交易处于待处理状态时,它正在等待矿工提取并处理它,这称为池化交易,也称为“内存池”。由于矿工优先考虑更高的天然气价格,因此天然气价值较低的交易可能会在较长时间内处于待定阶段。 Gas 价格最低的交易可能永远不会被接受,让它们永远“停留”在待处理状态。

在块中: 当矿工成功选择一个交易并在一个区块内挖掘它时,它会进入区块内状态。块内交易称为挖掘交易。如果区块被分叉,区块中的交易可能会返回到挂起状态。当挖掘的交易(即处于区块状态的交易)被网络逆转时,它被称为分叉交易。

替换: 当发生以下任一情况时,事务可以从挂起状态移动到替换状态:

  • 来自同一发送者的具有相同随机数的新交易进入区块状态,或
  • 另一笔具有相同随机数且汽油价格高出 12% 的交易进入待处理阶段,这次来自同一发送者。

以太坊交易确认

以太坊交易确认是自包含此交易的第一个区块以来创建的区块数。

待处理的以太坊交易需要收到一定数量的确认。 Gas 费用越高,以太坊网络处理和识别交易的确定性就越大。

最近的块可以重新组织,给人的印象是事务处理失败。即便如此,交易也可能包含在另一个区块中并保持有效。重组的概率随着随后每个区块的挖掘而降低,即确认越多,交易变得越不可变。

以太坊交易确认

交易费是用户为阻止矿工而支付的奖励。它用于在以太坊区块链中发送特定交易。

以太坊区块链交易费用也称为gas费用,因为它们与gas有关,gas是以太坊网络上使用的一种定价机制,指的是矿工处理交易所需的计算。交易的计算任务是根据 gas 成本来衡量的。

另一方面,每一单位的gas都有一个以ETH给出的gas价格。尽管特定交易的复杂性决定了gas成本,但用户可以设置自己的价格和gas限制,或者交易消耗的最大gas单位量。

什么是随机数?

nonce 是“number only used once”的缩写,指的是从给定的以太坊地址发送的已确认交易的总数。

以太坊钱包可以从一个账户广播多笔交易,彼此之间没有太多延迟,这意味着 nonce 计算被认为是确定首先处理哪笔交易​​的必要机制。通常,以太坊钱包应用程序负责用户的 nonce 管理。

如何取消以太坊交易?

取消待处理的以太坊交易有两种主要方法:应用程序内取消和设置自定义随机数。

通常,当用户以较低的 gas 价格提交时,以太坊交易会挂起数小时或卡住。因此,用户经常发现有必要更改以太坊交易。

在解决这个问题时,用户需要记住只有当交易仍在网络上未决时才能尝试取消。他们需要采取的第一步是在区块浏览器中验证交易是否仍在等待中。主要是粘贴交易哈希,也称为以太坊交易 ID,如果区块浏览器显示“待处理”,用户仍然可以尝试取消它。

取消卡住的以太坊交易的最简单方法是应用程序内取消,这要求用户退出以太坊钱包应用程序并关闭浏览器,重新打开并重新登录应用程序。

如果这些步骤不能解决问题,第二种方法将派上用场。

通过设置自定义随机数来取消一个待处理的以太坊交易意味着生成一个 0 ETH 的高gas价格交易到用户自己的地址,以防止之前的交易被卡住。在发送第二个交易之前,用户需要注意原始待处理交易正在使用的随机数,然后重用他们注意到的相同的随机数。

如果用户有多个待处理的以太坊交易,他们最好从最旧的交易或最低的 nonce 值开始。

如何加速以太坊交易?

用户可以通过向以太坊添加 gas 来加速缓慢的以太坊交易。这一步可能会激励以太坊矿工优先考虑它。

如果以太坊用户将 gas 价格设置得太低,其他用户就有机会出价高于此初始出价,交易将保持待处理。当交易卡住时,网络不会确认来自同一钱包地址的任何新交易,直到矿工确认第一笔交易。

在这种情况下,用户可以选择等到网络愿意以设定的价格处理交易或重新提交原始交易,但需要更高的gas费用。单击 Ethreum 钱包中的“加速”按钮应该可以更快地处理交易。

如果上一步不起作用,用户可以转到高级选项卡手动设置 gas 价格。

毕竟,建议用户通过发布其散列来在区块链浏览器上搜索交易,看看它是否被成功处理。如果交易没有立即显示,他们将需要等待几分钟并刷新页面。

以太坊交易可以逆转吗?

以太坊钱包无法恢复已经完成的以太坊交易。

当以太坊用户不小心将资金发送到错误的地址或发送错误数量的 ETH 时,他们可能会在交易未决时取消交易。当交易被确认并显示为“成功”时,这意味着它已被添加到下一个区块中,它无法撤消。以太坊区块链被设计为不可变的,因此输入区块的数据是不可逆的。知道这一点,在点击发送按钮之前确保交易细节是正确的至关重要。

最后,值得注意的是,许多区块链初创公司已经开发出允许用户逆转以太坊交易的机制。