Go-Ethereum

我的交易有點卡住了!

  • September 15, 2016

我已經使用 eth_sendTransaction 方法和以下參數通過 json-rpc 使用我的 geth 節點將此事務發送到 testnet:

"from": "0x3b877e80b5c0b29d88f3768ed4292b35fdd93a9d",
"to": "0x90e8682b63d7922a3e942d4bbd4c88095634a17b",
"value": "0xf4240"

// 0xf4240 = 100 萬魏,1 貝貝

Geth 節點日誌接收 tx,如下所示:

I0915 08:29:03.639166 eth/api.go:1193] Tx(0x2dac8edc68d40f2b09e2f06d455c51ea6f29a6199eeeccbff8b946f5c2e330d9) to: 0x90e8682b63d7922a3e942d4bbd4c88095634a17b

但是交易沒有通過測試網傳播……

兩天前,乙太坊測試網在不到 20 秒的時間內接受(探勘)了同樣的交易(相同的 from、to 和 value,但顯然不同的 txHash)。今天我發送的每筆交易似乎都停滯不前。

分配給交易的 txHash 是0x2dac8edc68d40f2b09e2f06d455c51ea6f29a6199eeeccbff8b946f5c2e330d9. 在 etherscan 上沒有關於它的資訊:https ://testnet.etherscan.io/tx/0x2dac8edc68d40f2b09e2f06d455c51ea6f29a6199eeeccbff8b946f5c2e330d9

當我使用 eth_getTransactionByHash 方法查詢關於 tx 的節點時,結果如下:

       [blockHash] => 0x0000000000000000000000000000000000000000000000000000000000000000
       [blockNumber] => 
       [from] => 0x3b877e80b5c0b29d88f3768ed4292b35fdd93a9d
       [gas] => 0x15f90
       [gasPrice] => 0x4a817c800
       [hash] => 0x2dac8edc68d40f2b09e2f06d455c51ea6f29a6199eeeccbff8b946f5c2e330d9
       [input] => 0x
       [nonce] => 0x10000e
       [to] => 0x90e8682b63d7922a3e942d4bbd4c88095634a17b
       [transactionIndex] => 
       [value] => 0xf4240

似乎它正在等待永遠被探勘……

這筆交易是否已廣播到測試網?被開采了嗎?為什麼不?如何追踪該交易的挖礦狀態?

在閱讀了類似的問題後,為什麼這些交易沒有在我的私人網路中廣播?我意識到我已經從_account 解鎖了。我也必須解鎖 to_account 嗎?

似乎交易卡在隨機數 0x100004 上。這是前一個 tx (nonce 0x100003) 和 nonce 0x100004 的 tx 的詳細資訊:

eth_getTransactionByHash: ["0x59af3aec8331c407a5a33a58203ee62a89b1efa772806b2c4319c395bb70bdd0"]
Array
(
   [jsonrpc] => 2.0
   [id] => 1
   [result] => Array
       (
           [blockHash] => 0x0aceab7d5e8a1d44efc36dfadabcbe3eaa14de08e7625a3208ca07fac6275014
           [blockNumber] => 0x190dce
           [from] => 0x3b877e80b5c0b29d88f3768ed4292b35fdd93a9d
           [gas] => 0x15f90
           [gasPrice] => 0x4a817c800
           [hash] => 0x59af3aec8331c407a5a33a58203ee62a89b1efa772806b2c4319c395bb70bdd0
           [input] => 0x
           [nonce] => 0x100003
           [to] => 0x90e8682b63d7922a3e942d4bbd4c88095634a17b
           [transactionIndex] => 0x0
           [value] => 0x2540be400
       )

)
eth_getTransactionByHash: ["0x824eeda61dba30c107400a5ab43dffa8408aae7f925f530699f69c94ed0c008b"]
Array
(
   [jsonrpc] => 2.0
   [id] => 1
   [result] => Array
       (
           [blockHash] => 0x0000000000000000000000000000000000000000000000000000000000000000
           [blockNumber] => 
           [from] => 0x3b877e80b5c0b29d88f3768ed4292b35fdd93a9d
           [gas] => 0x15f90
           [gasPrice] => 0x4e20
           [hash] => 0x824eeda61dba30c107400a5ab43dffa8408aae7f925f530699f69c94ed0c008b
           [input] => 0x
           [nonce] => 0x100004
           [to] => 0x90e8682b63d7922a3e942d4bbd4c88095634a17b
           [transactionIndex] => 
           [value] => 0x2540be400
       )

)

好吧,謝謝你的評論,因為我做到了!使用 nonce 0x100004 重新發送 tx 有效並且已被探勘。謝謝!

儘管如此,我仍然不知道為什麼 tx 0x824eeda61dba30c107400a5ab43dffa8408aae7f925f530699f69c94ed0c008b 卡住了……任何關於這個的提示都可以幫助我很多。無論如何謝謝!

在您的交易資訊中,nonceis 0x10000e,在測試網的上下文中,這意味著這是第 15 筆交易。但是,從帳戶頁面上from可以看出,只有 4 筆交易。

因此,礦工不會在隨機數交易出現之前探勘這個新0x100004交易0x10000d

您是如何創建此待處理交易的?

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