Hyperledger Fabric Endorsement policies——背書策略

背書策略spa

背書策略用於指導peer如何肯定交易是否獲得了的承認。當一個peer接收到一個事務時,它會調用與事務的Chaincode相關聯的VSCC(驗證系統鏈代碼),做爲事務驗證流程的一部分,以肯定交易的有效性。一個交易包含了一個或多個peer背書節點中的背書支持。VSCC的任務是作出如下決定:code

  • 全部的背書都是有效的(也就是說,它們是有效的簽名,而不是預期的消息)。
  • 有適當數量的背書
  • 背書來自預期的來源(s)

背書策略指的是第二和第三點其中的一種方式。blog

 

CLI中的背書策略語法事務

在CLI中,使用一種簡單的布爾表達式語言來表達對主體的背書策略。字符串

一個主體被描述爲MSP,它的任務是驗證簽名者的身份,以及簽名者在MSP中所扮演的角色。目前,支持兩個角色,即成員和管理員。角色組成,MSP必須承載MSP ID,角色是成員和管理員兩個字符串之一。例如一個有效的主體是「Org0.admin」(任何組織的任何管理員)或是Org1.member(任何組織的成員)。部署

該語言的語法是:class

EXPR(E[, E...])

EXPR使用AND或者OR其中之一做爲表達式,E要麼是一個主體(上面描述的是語法),要麼是另外一個對EXPR的嵌套調用。語法

例如:請求

  • AND('Org1.member', 'Org2.member', 'Org3.member')三個主體必須同時背書並承認簽名
  • OR('Org1.member', 'Org2.member')兩個主體中的任意一個背書並承認簽名
  • OR('Org1.member', AND('Org2.member', 'Org3.member'))主體1背書並承認簽名或者主體2和主體3同時背書並承認簽名

 

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

相關文章
相關標籤/搜索