我们面临的问题与将数据放入分类帐有关。如果我们尝试将数据插入分类帐,然后立即获取插入的数据,我们就没有得到任何东西。如果我们在3秒左右后请求,一切似乎都很好。是否有任何解决方案可以克服这种延迟以获得最佳用户体验?
答案 0 :(得分:2)
交易所需的旅程是:
其中:
只有在完成所有这些阶段之后,您才能看到提交到分类帐的交易,因此交易不会立即显示。
至于3秒的延迟,我怀疑这是因为你的Orderer.BatchTimeout
被设置为默认的2秒而你Orderer.BatchSize.MaxMessageCount
被设置为大于1的值(默认是10)。
这意味着订购服务不会削减一个块(并将其交付给提交的对等体),直到满足这两个条件的 。您发送的事务少于Orderer.BatchSize.MaxMessageCount
,因此订购服务需要等待Orderer.BatchTimeout
秒才能切断块。
为了减少交易显示在分类帐中的时间,请将Orderer.BatchTimeout
设置为较小的值(例如,1毫秒),将Orderer.BatchSize.MaxMessageCount
设置为1。