背书策略spa
背书策略用于指导peer如何肯定交易是否获得了的承认。当一个peer接收到一个事务时,它会调用与事务的Chaincode相关联的VSCC(验证系统链代码),做为事务验证流程的一部分,以肯定交易的有效性。一个交易包含了一个或多个peer背书节点中的背书支持。VSCC的任务是作出如下决定:code
背书策略指的是第二和第三点其中的一种方式。blog
CLI中的背书策略语法事务
在CLI中,使用一种简单的布尔表达式语言来表达对主体的背书策略。字符串
一个主体被描述为MSP,它的任务是验证签名者的身份,以及签名者在MSP中所扮演的角色。目前,支持两个角色,即成员和管理员。角色组成,MSP必须承载MSP ID,角色是成员和管理员两个字符串之一。例如一个有效的主体是“Org0.admin”(任何组织的任何管理员)或是Org1.member(任何组织的成员)。部署
该语言的语法是:class
EXPR(E[, E...])
EXPR使用AND或者OR其中之一做为表达式,E要么是一个主体(上面描述的是语法),要么是另外一个对EXPR的嵌套调用。语法
例如:请求
为chaincode指定背书策略channel
使用这种语法,chaincode部署人员能够请求对chaincode的背书在指定的策略上进行验证。注意-默认策略须要一个来自默认MSP的成员的签名。若是在实例化chaincode时,在CLI中没有指定策略,则使用此方法。
能够在实例化时使用“-P”关键词指定策略,而后执行策略。
例如:
peer chaincode instantiate -C <channelid> -n mycc -P "AND('Org1.member', 'Org2.member')"
这个命令使用 AND('Org1.member', 'Org2.member') 背书策略来部署chaincode mycc,该策略要求Org1和Org2的成员两个都必须签署事务。