Go-Ethereum

正確的交易隨機數應該比賬戶交易計數少一嗎?

  • April 28, 2016

我正在嘗試解決“為什麼我會得到“從池中移除 tx:低 tx 隨機數或資金不足”?我的私人測試網上的問題。

我似乎有足夠的資金,但是被拒絕的交易隨機數總是比發送地址的交易計數少一:

I0427 16:02:49.456986   84576 tx_pool.go:492] removed tx (
   TX(cf149f29fdb9ee3fe4f6b3907d396e8fd5abc832e21ee5453c9702003b5fd62a)
   Contract: false
   From:     db575481f1d1b626b9a0ee2f2c6946b3f6526cd4
   To:       [contract creation]
   Nonce:    6
   GasPrice: 20000000000
   GasLimit  1062420143
   Value:    0
   Data:     0x
   V:        0x1c
   R:        0x7832879e31c8c679779c34f0004a38e3e64848ce9a92757cebb11d792ccb1435
   S:        0x28d0b672e4b904d972d221df2c53250a9884b13142a63c9be193537557b241ea
   Hex:      f852068504a817c800843f533eaf8080801ca07832879e31c8c679779c34f0004a38e3e64848ce9a92757cebb11d792ccb1435a028d0b672e4b904d972d221df2c53250a9884b13142a63c9be193537557b241ea
) from pool: low tx nonce or out of funds



> eth.getTransactionCount("db575481f1d1b626b9a0ee2f2c6946b3f6526cd4") 
7
> eth.getBalance("db575481f1d1b626b9a0ee2f2c6946b3f6526cd4");
7.4699999999999996e+21

這裡的 tx nonce 和事務計數是否一致?

如果隨機數為零索引,那麼我猜它們是。如果是這種情況,我不知道為什麼會收到此錯誤消息。這真讓我抓狂。任何人都可以幫忙嗎?

是的,nonce 是零索引的。鑑於它是零索引並且您有 7 個已執行的事務,意味著最後使用的 nonce 是 6。因此,池接受它所需的下一個有效的隨機數是 7(即與 相同eth.getTransactionCount)。

對類似問題的評論提供了該問題第二部分的答案 - 為什麼在 nonce 和資金有效時會刪除交易?

看來,儘管有此錯誤消息,我的交易確實被成功開採。這可以通過獲取所謂的“已刪除”交易的交易收據來檢查。

僅供參考:我正在使用 geth v1.3.6

引用自:https://ethereum.stackexchange.com/questions/3411