除了上面的表象问题,我们还可以进步查询相应的问题信息。发生上面问题的情况往往是通过jsonapi调用或其他通过tradex.dll,tradex.dll,rpc调用的方式,如果直接使用控制台的命令来执行,是会被很快确认的。通过eth_getTransaction,命令我们会查询到上面的交易,但是交易的blocknumber使用为null;通过txpoocontent命名,我们会看到上面的交易处于queued队列中,却迟迟不会被处理。
nonce使用说明
了解了上面的内容,大家就可以去排查自己的交易是否是因为此原因导致未成功发送了。
问题追踪
那么是什么原因导致此问题呢?今天就带大家了解一些导致此问题的原因。
为了防止交易的重播攻击,每笔交易必须有一个nonce随机数,针对每一个账户nonce都是从0开始,当nonce为0的交易处理完之后,才会处理nonce为1的交易,并依次加1的交易才会被处理。以下是nonce使用的几条规则:
导致以上现象的最终原因就是在发送交易时传递的nonce值不对。
文章为作者独立观点,不代表股票交易接口观点