Hyperledger fabric 背书政策不适用于';行不通
当我使用admin时,部署一个网络,其中一个组织包括三个对等方。 我的approval-policy.json如下所示,但它不起作用Hyperledger fabric 背书政策不适用于';行不通,hyperledger-fabric,hyperledger-composer,Hyperledger Fabric,Hyperledger Composer,当我使用admin时,部署一个网络,其中一个组织包括三个对等方。 我的approval-policy.json如下所示,但它不起作用 { "identities": [ { "role": { "name": "member", "mspId": "Org1MSP" } } ], "policy": { "1-of
{
"identities": [
{
"role": {
"name": "member",
"mspId": "Org1MSP"
}
}
],
"policy": {
"1-of": [
{
"signed-by": 0
}
]
}
}
1.如何设置背书政策?
2.我认为只有认可的同级人才是同级人才,“会员”或“管理员”是什么意思
因此,我想让所有三个对等点都成为认可对等点,如何配置它?就让JSON策略文件工作而言,这应该做到:
{
"identities": [
{
"role": {
"name": "member",
"mspId": "Org1MSP"
}
}
],
"policy": {
"signed-by": 0
}
}
策略的JSON定义为
背书签名是针对每个组织的,因此,如果您有多个组织,则只需在背书策略中添加其他“身份”。要使JSON策略文件正常工作,应该这样做:
{
"identities": [
{
"role": {
"name": "member",
"mspId": "Org1MSP"
}
}
],
"policy": {
"signed-by": 0
}
}
策略的JSON定义为
签注签名是针对每个组织的,因此,如果您有多个组织,您只需在签注政策中添加其他“身份”。让我们从处理您的评论开始:
不,这应该是一个使用问题。我在一个组织中有三个同级成员。我需要三个同龄人的签名。当我使用docker日志dev peer*。。。命令查看每个对等容器中的日志。lt通过随机函数获得不同的值。因此,事务执行三次。现在,我只想交易不能被提交。背书政策应该是什么 您定义的策略是:
"policy": {
"1-of": [
{
"signed-by": 0
}
]
}
其中“signed by”:0
是必须满足此规则的MSP id的索引。即,一个对等方的单一背书基本上满足背书政策,而您需要确保所有执行一致,因此在您的情况下,您希望有多个对等方来背书您的交易,因此您需要:
{
"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
和admin
是一种原则,当需要特权实体(admin
)或简单实体(member
)背书或签名时,它们实际上为您提供了控制权和能力
所以,我想让所有三个对等点都成为支持对等点,如何配置它
背书对等方是安装了链码的对等方,因此能够调用它并与之交互,无需明确配置即可使对等方成为背书对等方,您只需在其上安装链码即可。让我们从处理您的评论开始:
不,这应该是一个使用问题。我在一个组织中有三个同级成员。我需要三个同龄人的签名。当我使用docker日志dev peer*。。。命令查看每个对等容器中的日志。lt通过随机函数获得不同的值。因此,事务执行三次。现在,我只想交易不能被提交。背书政策应该是什么 您定义的策略是:
"policy": {
"1-of": [
{
"signed-by": 0
}
]
}
其中“signed by”:0
是必须满足此规则的MSP id的索引。即,一个对等方的单一背书基本上满足背书政策,而您需要确保所有执行一致,因此在您的情况下,您希望有多个对等方来背书您的交易,因此您需要:
{
"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
和admin
是一种原则,当需要特权实体(admin
)或简单实体(member
)背书或签名时,它们实际上为您提供了控制权和能力
所以,我想让所有三个对等点都成为支持对等点,如何配置它
背书对等方是安装了链码的对等方,因此能够调用它并与之交互,无需显式配置即可使对等方成为背书对等方,您只需在其上安装链码。Composer将事务发送到connection.json文档中的所有对等方。看起来所有人都是根据你在日志中看到的内容进行评估的,但是因为背书只需要1,所以我想只有第一个响应的人才真正写入分类账。(使用每个connection.json中定义的单个对等点设置3个业务网卡-然后从每个对等点检索数据应该可以确认这一点。) 我认为,要求同一组织的3名同侪签署(签名)交易是不寻常的,更典型的情况是您之前尝试过的两名同侪签署(签名)交易 当前,此处显示的策略有一个标识数组,其中包含1个元素,该元素是角色。下面是Fabric Node SDK文档的两个链接,我认为您可以指定一个特定的标识,而不是角色。因此,如果您真的希望拥有来自同一组织的3个对等方,您将在身份数组中拥有对等方(来自CA)的3个特定身份,并且在策略部分中,您将拥有:
"policy": {
"3-of": [
{
"signed-by": 0
},
{
"signed-by": 1
},
{
"signed-by": 2
}
]
}