智能合约中的 Hyperledger Fabric 背书

Hyperledger Fabric endorsement in Smart Contracts

我目前在使用 Fabric 1.4 的项目中工作,我能够大致了解事情的进展情况,但我对 智能合约和背书政策的方式感到很困惑一起努力。

我的理解是,背书策略是在链代码实例化期间定义的,其中两个或三个组织将签署交易以使其有效。这种背书只是验证交易签名对不对?没有数据级别检查。

比如说我有这种情况:我有三个组织(Org1、Org2、Org3),每个组织都有一个对等体。现在通过客户端 Web 应用程序,每个对等点将数据放入区块链。现在我如何验证数据(我在区块链中提交的信息)是否例如名称和 ID 由另一个对等方正确验证,然后才添加到世界状态。

例子:如果org1中的peer0添加了data,name和id,id是错误的。 Org2 有一个 ID 列表,它应该检查 org1 添加的 ID 是否与其匹配并验证它。如果它通过验证就可以了,数据可以放在世界状态

如何定义这种事务状态级别验证(更多的是数据级别验证而不仅仅是签名验证)?这可以在 Go 智能合约中完成吗?

任何帮助和建议都会有所帮助。

谢谢

在背书期间,每个选定的背书者执行(或模拟)交易并returns其响应、读取集和写入集签名。客户端检查签名和来自不同背书者的响应匹配(或者至少它应该这样做,无论如何这个检查稍后由提交者再次执行),所以有数据级别检查(你的前提是错的)。客户端将所有背书组合成一个交易并广播它,以便它到达排序服务。排序服务将事务添加到一个块中,并将该块发送给加入通道的每个(提交者)对等点。提交者再次执行检查并将事务提交到状态。

这里完美解释:https://hyperledger-fabric.readthedocs.io/en/release-1.4/txflow.html.