场景
超级分类账织物诉2.4
高朗
我正在为汽车登记记录管理开发一个链码。
在我的链码getCarRegistrationDetails(...)中有一个函数,它根据输入数据搜索汽车并返回结果。除了汽车登记记录外,我还为每个用户保留了一个信用价值(使用客户身份)。当用户要求查询汽车的登记细节时,从用户余额中扣除一定的信用额,并将汽车登记记录退还给用户。
问题
因为我正在更新getCarRegistrationDetails(...)中的状态,所以应该调用它。但问题是,当我使用查询调用同一个函数时,它会返回所需的详细信息,但不会从用户的余额中扣除。
如何用链码处理这个问题。更具体地说,是否有一种方法可以防止getCarRegistrationDetails(...)上的查询请求,并且只允许调用?
发布于 2021-12-23 16:37:32
不幸的是,链码无法做出这个决定。从根本上讲,使用invoke vs query (在网关api术语中这将是提交和评估)的客户端之间的区别在于,提案响应(和相关的签名)是否随后被发送给订购者(调用),或者仅仅将有效负载返回给调用方(查询),但是调用和查询都将向对等方发送相同的背书请求,然后由链码执行。
处理这个问题的方法是在客户端应用程序中。客户端应用程序知道应该调用/提交哪些方法,以及应该查询/评估哪些方法。
https://stackoverflow.com/questions/70463971
复制相似问题