Get desktop application:
View/edit binary Protocol Buffers messages
Discovery defines a service that serves information about the fabric network like which peers, orderers, chaincodes, etc.
Discover receives a signed request, and returns a response.
SignedRequest contains a serialized Request in the payload field and a signature. The identity that is used to verify the signature can be extracted from the authentication field of type AuthInfo in the Request itself after deserializing it.
The results are returned in the same order of the queries
AuthInfo aggregates authentication information that the server uses to authenticate the client
Used in:
This is the identity of the client that is used to verify the signature on the SignedRequest's payload. It is a msp.SerializedIdentity in bytes form
This is the hash of the client's TLS cert. When the network is running with TLS, clients that don't include a certificate will be denied access to the service. Since the Request is encapsulated with a SignedRequest (which is signed), this binds the TLS session to the enrollement identity of the client and therefore both authenticates the client to the server, and also prevents the server from relaying the request message to another server.
ChaincodeCall defines a call to a chaincode. It may have collections that are related to the chaincode
Used in:
Indicates we do not need to read from private data
Indicates we do not need to write to the chaincode namespace
ChaincodeInterest defines an interest about an endorsement for a specific single chaincode invocation. Multiple chaincodes indicate chaincode to chaincode invocations.
Used in:
,ChaincodeQuery requests ChaincodeQueryResults for a given list of chaincode invocations. Each invocation is a separate one, and the endorsement policy is evaluated independantly for each given interest.
Used in:
ChaincodeQueryResult contains EndorsementDescriptors for chaincodes
Used in:
ConfigQuery requests a ConfigResult
Used in:
(message has no fields)
Used in:
msps is a map from MSP_ID to FabricMSPConfig
orderers is a map from MSP_ID to endpoint lists of orderers
EndorsementDescriptor contains information about which peers can be used to request endorsement from, such that the endorsement policy would be fulfilled. Here is how to compute a set of peers to ask an endorsement from, given an EndorsementDescriptor: Let e: G --> P be the endorsers_by_groups field that maps a group to a set of peers. Note that applying e on a group g yields a set of peers. 1) Select a layout l: G --> N out of the layouts given. l is the quantities_by_group field of a Layout, and it maps a group to an integer. 2) R = {} (an empty set of peers) 3) For each group g in the layout l, compute n = l(g) 3.1) Denote P_g as a set of n random peers {p0, p1, ... p_n} selected from e(g) 3.2) R = R U P_g (add P_g to R) 4) The set of peers R is the peers the client needs to request endorsements from
Used in:
Specifies the endorsers, separated to groups.
Specifies options of fulfulling the endorsement policy. Each option lists the group names, and the amount of signatures needed from each group.
Endpoint is a combination of a host and a port
Used in:
Endpoints is a list of Endpoint(s)
Used in:
Error denotes that something went wrong and contains the error message
Used in:
Layout contains a mapping from a group name to number of peers that are needed for fulfilling an endorsement policy
Used in:
Specifies how many non repeated signatures of each group are needed for endorsement
LocalPeerQuery queries for peers in a non channel context
Used in:
(message has no fields)
Peer contains information about the peer such as its channel specific state, and membership information.
Used in:
This is an Envelope of a GossipMessage with a gossip.StateInfo message
This is an Envelope of a GossipMessage with a gossip.AliveMessage message
This is the msp.SerializedIdentity of the peer, represented in bytes.
PeerMembershipQuery requests PeerMembershipResult. The filter field may be optionally populated in order for the peer membership to be filtered according to chaincodes that are installed on peers and collection access control policies.
Used in:
PeerMembershipResult contains peers mapped by their organizations (MSP_ID)
Used in:
Peers contains a list of Peer(s)
Used in:
,Query asks for information in the context of a specific channel
Used in:
ConfigQuery is used to query for the configuration of the channel, such as FabricMSPConfig, and rorderer endpoints. The client has to query a peer it trusts as it doesn't have means to self-verify the authenticity of the returned result. The result is returned in the form of ConfigResult.
PeerMembershipQuery queries for peers in a channel context, and returns PeerMembershipResult
ChaincodeQuery queries for chaincodes by their name and version. An empty version means any version can by returned.
LocalPeerQuery queries for peers in a non channel context, and returns PeerMembershipResult
QueryResult contains a result for a given Query. The corresponding Query can be inferred by the index of the QueryResult from its enclosing Response message. QueryResults are ordered in the same order as the Queries are ordered in their enclosing Request.
Used in:
Error indicates failure or refusal to process the query
ConfigResult contains the configuration of the channel, such as FabricMSPConfig and orderer endpoints
ChaincodeQueryResult contains information about chaincodes, and their corresponding endorsers
PeerMembershipResult contains information about peers, such as their identity, endpoints, and channel related state.
Request contains authentication info about the client that sent the request and the queries it wishes to query the service
authentication contains information that the service uses to check the client's eligibility for the queries.
queries