2017-04-23 17 views
1

我已经根据使用docker的指令设置了结构,并且一切正常。我有一个chaincode,它存储了一个世界状态的值,我可以使用查询方法读取它。在写入同一个链接代码后立即读取状态

我的情况是这样的:我在短时间内提交多个单独的请求,以存储世界各地的不同数据。在每个请求中,我需要读取刚刚提交的数据。但是,我无法阅读最近提交的数据。

我的理解是,这可能是因为这些数据可能尚未存储在区块链中,因此无法读取。有了这个理解,我引入了一个睡眠函数来休眠几秒钟,以便给以前提交的数据足够的时间包含在区块链中。但是,这种方法并不成功。

因此,我想知道是否有任何方式来存储后续数据后才读取以前的数据。

感谢, Ripul

回答

1

在chaincode等待几秒钟是不够的。链式代码中“写入”的数据尚未提交给数据库,只是提议在该点写入数据库。只有已提交的数据以链码形式读回。因此,在链接代码中进行更新并获取提案响应之后,您必须提交事务以进行排序。订购者可能需要几秒钟才能切割块,将其分发给同行,并让同行提交数据。只有这样,数据才能在链码中被读回。

如果您必须读取刚刚在同一个链接代码函数中编写的数据,则需要保留已写入数据的映射并从映射中检索值,而不是从已提交的数据库中检索值。

相关问题