背書策略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的成員兩個都必須簽署事務。