让我们从解决您的评论开始:
不,这应该是一个使用问题。我只有一个组织中有三个同事。我需要支持同行的所有三个签名。当我使用 docker logs dev-peer*... 命令查看来自每个对等容器的日志时,通过随机函数得到不同的值。因此,事务被执行了三次。现在,我只想交易无法提交。背书政策应该是什么
您定义的策略是:
"policy": {
"1-of": [
{
"signed-by": 0
}
]
}
where "signed-by": 0
是必须满足此规则的 MSP id 的索引。 IE。一个对等点的单一背书基本上就可以满足背书策略,而您需要确保所有执行都是一致的,因此在您的情况下,您希望有多个对等点来背书您的交易,因此您需要:
{
"identities": [
{
"role": {
"name": "member",
"mspId": "Org1MSP"
}
}
],
"policy": {
"3-of": [
{
"signed-by": 0
},
{
"signed-by": 0
},
{
"signed-by": 0
},
]
}
}
这意味着来自 Org1MSP 的所有 3 个节点都必须签署背书才能批准交易,而由于您使用的是随机函数,因此交易将会失败。
1.如何设置背书策略?
您可以在实例化链代码时提供背书策略,语法非常简单:
AND("Org1MSP.member")
基本上是说你至少需要来自有效成员的认可Org1MSP
.
- 我认为背书节点是唯一的节点,“成员”或“管理员”是什么意思?
member
and admin
这些原则实际上为您提供了控制能力,无论何时需要特权实体认可或签署某些内容(admin
)或者一个简单的就足够了(member
).
那么,我想让三个节点全部成为背书节点,如何配置呢?
背书对等点是安装了链码的对等点,因此能够调用它并与其交互,不需要显式配置即可使对等点成为背书对等点,您所需要做的就是在其上安装链码。