ethereum - 签名交易从测试网消失(Kovan & Rinkeby)
问题描述
我一直在尝试向 Kovan 和 Rinkeby 广播交易,我正在离线构建和签名它们,并使用 Etherscan API 广播签名的交易。我在资源管理器中看到它们标记为:
Pending This TxHash 在我们的辅助节点中找到,应该会在短时间内被我们的索引器拾取。
他们在那里坐了 4-8 个小时,然后就消失了。我已经尝试过几次提高汽油价格和汽油限制。我假设因为它们完全被 API 接受了,所以我已经正确地对它们进行了签名(我正在使用外部方法对哈希进行签名并将交易拼接在一起)。我不确定是否有办法验证交易以查看我创建的交易是否有效并正确签名。
我最近尝试向 Kovan 广播的是:
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()
.
推荐阅读
- c# - 直接从 ftp POST 到 REST URL
- php - Wordpress通过循环获取术语当前类别问题
- c++ - 如何通过 Crypto++ 和 RSA 签署文件
- java - 在 UCanAccess 中使用 order by 订购 ID
- python - 订购共面点以绘制它们
- amazon-web-services - 如何找出我需要为 CLI 命令授予哪些 AWS 操作?
- python - 当我使用 Django 模板标签循环时数据不显示
- c# - 将 .Net Standard 2.0 迁移到 .Net Core 2.2
- neo4j - 将关系(及其属性)克隆到新节点
- uwp - 在 UWP 中使用 Windows.Storage 命名空间获取内部驱动器