我一直在尝试将交易广播给Kovan & Rinkeby,我正在离线构建和签名它们,并使用Etherscan API广播已签名的交易。我在资源管理器中看到它们标记为:
待处理 在我们的辅助节点中发现了 TxHash,我们的索引器应该会在短时间内拾取它。
他们在那里坐了4-8个小时,然后就消失了。我尝试过几次提高汽油价格和汽油限制。我假设因为它们被 API 接受,我已经正确地对它们进行了签名(我正在使用外部方法来对哈希进行签名并将交易拼接在一起)。我不确定是否有办法验证交易以查看我创建的交易是否有效且签名正确。
我最近尝试向科万广播的是:
f86d01850ba43b7400830186a0944d6bb4ed029b33cf25d0810b029bd8b1a6bcab7b88015181ff25a980008077a060023895819271c2b033820c913c9c6326325dbea272b09429d886833d5a900ca04ccf4a6a3710806b2d137f4460551a8a2ef6627b1da81fbd971c4a18aba8a880
我试图用 https://flightwallet.org/decode-eth-tx/解码它,它看起来不错。
{
"nonce": 1,
"gasPrice": 50000000000,
"gasLimit": 100000,
"to": "0x4d6bb4ed029b33cf25d0810b029bd8b1a6bcab7b",
"value": 95000000000000000,
"data": "",
"from": "0xe6652ca72b030b1c426b3e9654bd02e466943d54",
"r": "60023895819271c2b033820c913c9c6326325dbea272b09429d886833d5a900c",
"v": "77",
"s": "4ccf4a6a3710806b2d137f4460551a8a2ef6627b1da81fbd971c4a18aba8a880"
}
如果有人有一些建议或工具可以用来调试它,或者在我的编码中看到不正确的东西,我将不胜感激。谢谢。
看起来你的nonce
太高了,至少对于那笔交易来说是这样。发件人地址0xE6652CA72B030B1c426b3e9654bd02E466943D54
没有发送任何先前的交易,因此其正确的nonce
是0
。
尝试发送带有nonce
1
的事务意味着它必须等待,直到发送了带有nonce
0
的事务。如果没有发生这种情况,交易最终会被丢弃。
获得正确nonce
的一个好方法是使用web3.eth.getTransactionCount()
.