我有一个原始交易哈希,我使用 etherscan.io API (https://etherscan.io/apis#proxy) 来广播它。我的发送地址是0xa126336ed508dd19e40842d048b79245233a6e93
我使用了以下 API 调用:
当然,我填写了我自己的 Api 令牌和我自己的原始交易哈希。我第一次广播后,它返回给我以下OK结果:
{
jsonrpc: '2.0',
result: '0xbdb8c333b78af7e71c5646bde02760691efeb719970fb9753dbb154a08153200',
id: 1
}
通常,当您广播某些内容时,它会在交易列表中的地址下显示为状态(pending)。但是,当我搜索写入“result”属性中的此交易哈希时,它并没有出现在 Etherscan 上。
几分钟后我再次尝试播放,仍然没有。然后在第三次尝试时它突然出现并在几分钟后得到确认。
到目前为止,我已经进行了多次交易。也有几次我等了一个小时,它没有出现在列表中。然后当我广播完全相同的原始交易哈希时,它立即出现在交易列表中。所以这告诉我,我的电话也不仅仅是延迟了,Etherscan 没有注册我的广播,即使它返回了一个 OK 信号(因为在统计上它几乎不可能在我再次尝试的那一刻出现小时,多次)。
所以我现在的解决方案是继续广播,直到我收到OK信号,而是直到我收到错误。因为一旦 Etherscan 注册了您的交易并在之后您再次广播,它就会返回一个错误消息“已经知道”。如果您在 Etherscan 上注册之前等待更长时间,它会返回“nonce 太低”的错误。这两个错误都是确认我的交易广播成功。
这是什么问题?这是一个已知问题吗?它只是 Etherscan 还是以太坊网络的其他东西?