Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do the different MSP roles (member, admin, peer, client) affect Hyperledger Fabric Endorsement policies?

On the endorsement policy syntax documentation on https://hyperledger-fabric.readthedocs.io/en/release-1.2/endorsement-policies.html it is stated that principals are defined as MSP.ROLE where MSP is the MSP ID and the ROLE is either member, admin, client or peer

In the examples shown mostly member is used. It is states "MSP.member" would mean "any member", but what is a member? Currently, as most endorsement policy we use follow that syntax, we are assuming that it means any peer? But there is also the example of "MSP.peer".

And as this is an endorsement policy where it checks transactions have been endorsed, when are "admin" and "client" used?? (as it does not seem possible for an admin or client to endorse a transaction).

Is there a clear guide on when to use member, admin, client and peer for Endorsement Policies?

like image 447
Jonathan Declan Tan Avatar asked Oct 17 '22 13:10

Jonathan Declan Tan


1 Answers

A Fabric network member is an user on the Blockchain network. Usually, a member indicates an organization.

The example below from the official docs means that in order for a transaction to be endorsed and sent to the orderer, a user from each organization must sign/endorse.

AND('Org1.member', 'Org2.member', 'Org3.member') requests 1 signature from each of the three principals

Admins are one level above a member. An admin can add and remove members from the network and modify member settings.

A peer can be an endorsing peer or a regular peer which does not endorse but commits transactions.

A client is usually an organization that invokes the smart contracts on the Blockchain network.

like image 85
OneMoreQuestion Avatar answered Oct 21 '22 05:10

OneMoreQuestion