Go-Ethereum
正確的交易隨機數應該比賬戶交易計數少一嗎?
我正在嘗試解決“為什麼我會得到“從池中移除 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