用户指南:交易与失败交易

metamask 发布于 2026-05-04 阅读 181

本文详细解释了区块链交易的工作原理,包括EVM、mempool和nonce等概念。交易失败常见原因包括gas设置过低、网络拥堵、余额不足等。文章提供了诊断和修复问题的步骤,如加速或取消待处理交易、调整gas设置等。适合初学者了解交易机制和常见故障排除。

注意

刚接触加密货币和Web3?

前往 MetaMask Learn,获得专为Web3新手设计的一目了然的学习体验。完全免费,支持多种语言,并包含模拟等实用工具,帮助你轻松上手 MetaMask。

本文包含交易及交易失败原因的解释和相关资源链接,以及常见交易失败场景及解决方法:

区块链交易的构成

当我们谈论公共区块链网络上的“交易”时,通常指的是两个地址之间的交互;换言之,即代币(无论是同质化还是非同质化)或其他加密资产从一个地址“发送”到另一个地址。还有一类交易称为“内部交易”,即智能合约之间的交互,这通常不在本文讨论范围内。

想了解更多?

有关区块链网络及其工作原理的更多信息,请查看我们的入门文章。如果你遇到不熟悉的术语,可以随时查阅我们的术语表

为清晰起见,实际上并没有任何东西被“发送”到任何地方。像以太坊这样的支持智能合约的区块链网络具有多个不同的组件或功能。其中之一是我们称之为“计算机”的部分:以太坊虚拟机(EVM),能够运行程序(“智能合约”)。然而,系统的核心是分布式账本把它想象成一个电子表格,其中一侧包含每个以太坊账户地址,每个地址对应其持有的每种加密资产的一列。

我们用一个例子来说明。假设Guillaume想要向Dolores发送一笔交易。Guillaume账户中有1.36 ETH,他计划向Dolores发送0.5 ETH。对Dolores来说,即使在熊市,这也是个好日子。

Guillaume打开他的MetaMask,输入Dolores的地址,配置好他愿意支付的Gas参数,然后点击“发送”。

此时,交易进入本地临时持有状态,即本地内存池。然后,交易将被网络中最接近的节点“拾取”;根据Guillaume的Gas设置,他的交易将被优先处理(Guillaume愿意为每单位Gas支付的越多,他的交易处理速度就越快),并传播到网络中的其他节点。节点将验证Guillaume是否有足够的ETH进行支付,然后实际执行“交易”:账本将被修改;Guillaume的余额将减少0.5,Dolores的余额将增加0.5。

“下笔已定,笔迹不灭”: ETH本身并未通过网络移动;它不是从Guillaume的计算机发送到Dolores的MetaMask收件箱的电子邮件或类似物。Guillaume发送了一个请求,通过他的MetaMask私钥进行身份验证,要求网络从他的账户扣除并贷记到Dolores的账户,在经过网络协议中编程的验证过程后,这一操作得以完成。

交易的本质就是如此:向账本发出请求,将某物从一个地址重新分配到另一个地址。

当出现问题时

出问题的原因有多种。通常,它们是“软件性质”的:MetaMask存在bug,或者你尝试使用的网络配置有误;存在连接错误。

一个常见问题是用户为了降低交易费用,设置了非常低的Gas限额,而网络状况非常拥堵,以至于没有区块空间容纳这种“廉价”交易,有时会持续很长时间:最终,这笔交易将变得“过时”,用户必须取消它。

如果你已发送一笔交易但尚未最终确认,其状态在MetaMask中会显示为“待处理”。

如果你发送了一笔交易,但失败了,最可能的原因是Gas不足:换句话说,你的“Gas耗尽”了,即交易消耗的Gas量乘以Gas价格后,所需支付网络原生货币的总金额超过了你账户中的余额。

相关信息

有关Gas计算的更多信息,请查阅我们的Gas指南

这可能是由多种原因造成的,但需要考虑的一点是你尝试执行的交易类型。在网络高峰期铸造NFT可能需要消耗大量Gas;如果你尝试进行新的或实验性交易,最好先在测试网络上尝试,然后再支付真实网络费用。

修复问题

关键因素 #1:本地还是广播到网络

在诊断交易问题时,尤其是遇到待处理交易时,你需要判断交易是否仍停留在本地内存池,还是已经广播到网络并因某种原因卡住。如果仅停留在本地内存池,解决方法可能很简单,比如锁定并重新解锁你的MetaMask(操作前请确保你知道密码并已备份助记词)。如果已广播到网络,解决方法可能更复杂。

有关修复这些问题的更多信息,请参阅下面的链接。

关键因素 #2:Nonce

这个词可能有不同的含义。它是“只使用一次的数字”的缩写,在此上下文中,大致表示“交易编号”,从发送地址的第一笔交易开始计数。例如,如果你同时从MetaMask的两个不同实例使用同一账户地址发起两笔不同的交易,可能会陷入严重困境。你的地址的交易必须根据其Nonce按递增顺序排列。 然而,正如Nonce可能导致交易卡住,它们也可能是解除交易卡住的关键。

有关该技术的更多信息,请参见此处

后续步骤

如果你遇到交易失败或待处理的情况,请查阅以下资源以获得帮助。

如何从你的MetaMask账户发送代币

如何加速或取消待处理交易

为什么我的交易因“Out of Gas”错误而失败?如何修复?

Uniswap故障排除

用户指南:Gas

我可以撤销已经确认的交易吗?

常见问题解答

问:我钱包中的一个账户有待处理或排队中的交易。我可以从同一钱包中的另一个账户发起新交易吗?

答:可以。Nonce是按账户计数的,而不是按钱包。

  • 原文链接: support.metamask.io/mana...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论