以太坊中是否有单个钱包的交易队列?

时间:2017-10-04 07:45:59

标签: transactions ethereum

我已经执行了天然气价格非常低的合约方法 - 1 gwei(交易 A )。

之后我从同一个帐户发送了一些商品(交易 B )。

结果,交易状态 A pending约12小时,直到因为天然气价格而被开采。我发现交易 B 停滞,直到交易 A 被挖掘(它们也是pending)。

所有交易都是通过MyEthereWallet从同一个钱包发送的。

据我所知,交易完全独立执行。那么,为什么交易 B 只能在 A 之后开采?或者每个钱包都有一个全局事务队列,事务是按照它们进入系统的顺序挖掘的?

1 个答案:

答案 0 :(得分:0)

我找到了答案here。如果很快,是的,有一种队列。交易按照发布到以太坊网络的顺序执行。

更详细一点。每个帐户都有一个名为nonce的属性。它包含从帐户发出的交易数量。

下一步。帐户发送的每笔交易都有几个属性。其中一个是发送交易的nonce帐户。

在检查执行交易的有效性之前 - 它们应该具有有效签名,足够的气体和有效nonce - 它应该等于发件人帐户的当前nonce

检查有效性后,正在执行交易。成功执行事务后,帐户的随机数会递增。

例如,我们的帐户nonce为100.我们使用nonce 100和101发布两个交易。第一个交易完成时,nonce 101的第二个交易无效帐户nonce递增(并变为101)。