如何将自定义业务逻辑应用到超级账本的背书策略中?



我刚刚开始学习Hyperledger Fabric,我想知道是否有办法将业务逻辑应用到背书和交易承诺过程中?

例如,如果背书策略设置为AND('Org1.member', 'Org2.member'),我是否可以以某种方式定义Org1.member执行什么逻辑来将事务签署为有效?该逻辑是否可以基于某个State对象值?(如object.NumberProp > 5)

我读了背书和验证插件的文章,但我不完全明白这是否符合这个目的。

很抱歉我对这项技术有任何误解。

理论上可以从链码事务中提取调用者的mspId,然后根据确定的mspId执行有条件的操作。这是getCreator API的一部分。

听起来你问的是链码级别的访问控制,这里回答:Hyperledger Fabric:实现链码级别的访问控制

In hlf2。与1.4相比,X的链码部署模型发生了重大变化。x版本。可以让每个组织在其链码中运行不同的业务逻辑,以便在背书时执行特定的验证。在hlf1.4中。X要求每个组织运行完全相同的链码。回到你的问题:对于一个特定的组织,你真的不需要基于提交时间的逻辑。您可以在链码中为您的组织实现特定的逻辑,并在提交阶段之前失败事务背书。这样,您的组织可以运行特定的业务验证,而不会向网络上的其他组织暴露其内部。

关于背书策略:我不建议为了实现自定义逻辑而重写背书策略插件,除非有非常强烈的业务需求。我宁愿使用现有HLF链码背书过程的功能来实现所需的功能。https://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html

问候,Tsvetan

最新更新