[英]Is there a transaction queue for single wallet in Ethereum?
我已经执行了非常低的汽油价格-1 gwei(交易A )的合同方法。
之后,我从同一个帐户(交易B )向一些钱包发送了一些eth。
结果,交易状态A pending
约12个小时,直到由于汽油价格被开采为止。 而且我发现事务B一直停滞不前,直到挖掘了事务A (它们也处于pending
)。
所有交易都是通过MyEthereWallet从同一钱包发送的。
据我了解,交易是绝对独立执行的。 那么,为什么交易B仅在A之后开采? 还是每个钱包都有一个全局交易队列,并且交易以它们进入系统的顺序进行开采?
我在这里找到了答案。 如果很快,是的,这里有一个队列。 交易按照发布到以太坊网络的顺序执行。
多一点细节。 每个帐户都有一个称为nonce
的属性。 它包含从帐户中发出的交易数量。
下一个。 帐户发送的每笔交易都有几个属性。 其中之一是发送交易的帐户nonce
。
在检查执行交易的有效性之前-它们应该具有有效的签名,足够的气体和有效的nonce
-它应等于发送者帐户的当前nonce
。
在检查有效性之后,正在执行事务。 成功执行交易后,帐户的现时增加。
例如,我们的帐户的nonce
为100。我们发布了两个nonce
100和101的交易。第二个nonce
101的交易在第一个交易完成且帐户的nonce
增加(并变为101)之前是无效的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.