package protos

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service Admin

admin.proto:19

Interface exported by the server.

service Chaincode

chaincode_shim.proto:183

Chaincode as a server - peer establishes a connection to the chaincode as a client Currently only supports a stream connection.

service ChaincodeSupport

chaincode_shim.proto:177

Interface that provides support to chaincode execution. ChaincodeContext provides the context necessary for the server to respond appropriately.

service Deliver

events.proto:65

service Endorser

peer.proto:15

service Snapshot

snapshot.proto:46

message ACLs

configuration.proto:32

ACLs provides mappings for resources in a channel. APIResource encapsulates reference to a policy used to determine ACL for the resource

message APIResource

configuration.proto:26

APIResource represents an API resource in the peer whose ACL is determined by the policy_ref field

Used in: ACLs

message AdminOperation

admin.proto:62

message AnchorPeer

configuration.proto:19

AnchorPeer message structure which provides information about anchor peer, it includes host name, port number and peer certificate.

Used in: AnchorPeers

message AnchorPeers

configuration.proto:13

AnchorPeers simply represents list of anchor peers which is used in ConfigurationItem

message ApplicationPolicy

policy.proto:16

ApplicationPolicy captures the diffenrent policy types that are set and evaluted at the application level.

Used in: StaticCollectionConfig

message BlockAndPrivateData

events.proto:49

BlockAndPrivateData contains Block and a map from tx_seq_in_block to rwset.TxPvtReadWriteSet

Used in: DeliverResponse

message CDSData

chaincode.proto:94

CDSData is data stored in the LSCC on instantiation of a CC for CDSPackage. This needs to be serialized for ChaincodeData hence the protobuf format

message ChaincodeAction

proposal.proto:232

ChaincodeAction contains the executed chaincode results, response, and event.

message ChaincodeActionPayload

transaction.proto:66

ChaincodeActionPayload is the message to be used for the TransactionAction's payload when the Header's type is set to CHAINCODE. It carries the chaincodeProposalPayload and an endorsed action to apply to the ledger.

message ChaincodeData

chaincode.proto:102

ChaincodeData defines the datastructure for chaincodes to be serialized by proto Type provides an additional check by directing to use a specific package after instantiation Data is Type specific (see CDSPackage and SignedCDSPackage)

message ChaincodeDeploymentSpec

chaincode.proto:67

Specify the deployment of a chaincode. TODO: Define `codePackage`.

message ChaincodeEndorsedAction

transaction.proto:84

ChaincodeEndorsedAction carries information about the endorsement of a specific proposal

Used in: ChaincodeActionPayload

message ChaincodeEndorsement

resources.proto:43

ChaincodeEndorsement instructs the peer how transactions should be endorsed. The only endorsement mechanism which ships with the fabric today is the standard 'escc' mechanism. This code simply simulates the proposal to generate a RW set, then signs the result using the peer's local signing identity.

message ChaincodeEvent

chaincode_event.proto:15

ChaincodeEvent is used for events and registrations that are specific to chaincode string type - "chaincode"

Used in: ChaincodeMessage, FilteredChaincodeAction

message ChaincodeHeaderExtension

proposal.proto:205

ChaincodeHeaderExtension is the Header's extentions message to be used when the Header's type is CHAINCODE. This extensions is used to specify which chaincode to invoke and what should appear on the ledger.

message ChaincodeID

chaincode.proto:21

ChaincodeID contains the path as specified by the deploy transaction that created it as well as the hashCode that is generated by the system for the path. From the user level (ie, CLI, REST API and so on) deploy transaction is expected to provide the path and other requests are expected to provide the hashCode. The other value will be ignored. Internally, the structure could contain both values. For instance, the hashCode will be set when first generated using the path

Used in: ChaincodeAction, ChaincodeHeaderExtension, ChaincodeSpec

message ChaincodeIdentifier

resources.proto:17

ChaincodeIdentifier identifies a piece of chaincode. For a peer to accept invocations of this chaincode, the hash of the installed code must match, as must the version string included with the install command.

message ChaincodeInfo

query.proto:22

ChaincodeInfo contains general information about an installed/instantiated chaincode

Used in: ChaincodeQueryResponse

message ChaincodeInput

chaincode.proto:36

Carries the chaincode function and its arguments. UnmarshalJSON in transaction.go converts the string-based REST/JSON input to the []byte-based current ChaincodeInput structure.

Used in: ChaincodeSpec

message ChaincodeInvocationSpec

chaincode.proto:78

Carries the chaincode function and its arguments.

message ChaincodeMessage

chaincode_shim.proto:16

Used as request type in: Chaincode.Connect, ChaincodeSupport.Register

Used as response type in: Chaincode.Connect, ChaincodeSupport.Register

enum ChaincodeMessage.Type

chaincode_shim.proto:17

Used in: ChaincodeMessage

message ChaincodeProposalPayload

proposal.proto:217

ChaincodeProposalPayload is the Proposal's payload message to be used when the Header's type is CHAINCODE. It contains the arguments for this invocation.

message ChaincodeQueryResponse

query.proto:16

ChaincodeQueryResponse returns information about each chaincode that pertains to a query in lscc.go, such as GetChaincodes (returns all chaincodes instantiated on a channel), and GetInstalledChaincodes (returns all chaincodes installed on a peer)

message ChaincodeSpec

chaincode.proto:49

Carries the chaincode specification. This is the actual metadata required for defining a chaincode.

Used in: ChaincodeDeploymentSpec, ChaincodeInvocationSpec

enum ChaincodeSpec.Type

chaincode.proto:51

Used in: ChaincodeSpec

message ChaincodeValidation

resources.proto:27

ChaincodeValidation instructs the peer how transactions for this chaincode should be validated. The only validation mechanism which ships with fabric today is the standard 'vscc' validation mechanism. This built in validation method utilizes an endorsement policy which checks that a sufficient number of signatures have been included. The 'arguement' field encodes any parameters required by the validation implementation.

message ChannelInfo

query.proto:52

ChannelInfo contains general information about channels

Used in: ChannelQueryResponse

message ChannelQueryResponse

query.proto:47

ChannelQueryResponse returns information about each channel that pertains to a query in lscc.go, such as GetChannels (returns all channels for a given peer)

message CollectionConfig

collection.proto:25

CollectionConfig defines the configuration of a collection object; it currently contains a single, static type. Dynamic collections are deferred.

Used in: CollectionConfigPackage

message CollectionConfigPackage

collection.proto:18

CollectionConfigPackage represents an array of CollectionConfig messages; the extra struct is required because repeated oneof is forbidden by the protobuf syntax

Used in: gossip.PrivatePayload, lifecycle.ApproveChaincodeDefinitionForMyOrgArgs, lifecycle.CheckCommitReadinessArgs, lifecycle.CommitChaincodeDefinitionArgs, lifecycle.QueryApprovedChaincodeDefinitionResult, lifecycle.QueryChaincodeDefinitionResult, lifecycle.QueryChaincodeDefinitionsResult.ChaincodeDefinition, transientstore.TxPvtReadWriteSetWithConfigInfo

message CollectionPolicyConfig

collection.proto:73

Collection policy configuration. Initially, the configuration can only contain a SignaturePolicy. In the future, the SignaturePolicy may be a more general Policy. Instead of containing the actual policy, the configuration may in the future contain a string reference to a policy.

Used in: StaticCollectionConfig

message ConfigTree

resources.proto:51

ConfigTree encapsulates channel and resources configuration of a channel. Both configurations are represented as common.Config

message DelState

chaincode_shim.proto:94

DelState is the payload of a ChaincodeMessage. It contains a key which needs to be recorded in the transaction's write set as a delete operation. If the collection is specified, the key needs to be recorded in the transaction's private write set as a delete operation.

message DeliverResponse

events.proto:56

DeliverResponse

Used as response type in: Deliver.Deliver, Deliver.DeliverFiltered, Deliver.DeliverWithPrivateData

message Endorsement

proposal_response.proto:86

An endorsement is a signature of an endorser over a proposal response. By producing an endorsement message, an endorser implicitly "approves" that proposal response and the actions contained therein. When enough endorsements have been collected, a transaction can be generated out of a set of proposal responses. Note that this message only contains an identity and a signature but no signed payload. This is intentional because endorsements are supposed to be collected in a transaction, and they are all expected to endorse a single proposal response/action (many endorsements over a single proposal response)

Used in: ChaincodeEndorsedAction, ProposalResponse, SignedChaincodeDeploymentSpec

message FilteredBlock

events.proto:19

FilteredBlock is a minimal set of information about a block

Used in: DeliverResponse

message FilteredChaincodeAction

events.proto:44

FilteredChaincodeAction is a minimal set of information about an action within a transaction

Used in: FilteredTransactionActions

message FilteredTransaction

events.proto:27

FilteredTransaction is a minimal set of information about a transaction within a block

Used in: FilteredBlock

message FilteredTransactionActions

events.proto:38

FilteredTransactionActions is a wrapper for array of TransactionAction message from regular block

Used in: FilteredTransaction

message GetHistoryForKey

chaincode_shim.proto:130

GetHistoryForKey is the payload of a ChaincodeMessage. It contains a key for which the historical values need to be retrieved.

message GetQueryResult

chaincode_shim.proto:114

GetQueryResult is the payload of a ChaincodeMessage. It contains a query string in the form that is supported by the underlying state database. If the collection is specified, the query needs to be executed on the private data. The metadata hold the byte representation of QueryMetadata.

message GetState

chaincode_shim.proto:64

GetState is the payload of a ChaincodeMessage. It contains a key which is to be fetched from the ledger. If the collection is specified, the key would be fetched from the collection (i.e., private state)

message GetStateByRange

chaincode_shim.proto:103

GetStateByRange is the payload of a ChaincodeMessage. It contains a start key and a end key required to execute range query. If the collection is specified, the range query needs to be executed on the private data. The metadata hold the byte representation of QueryMetadata.

message GetStateMetadata

chaincode_shim.proto:69

message JoinBySnapshotStatus

query.proto:58

JoinBySnapshotStatus contains information about whether or a JoinBySnapshot operation is in progress and the related bootstrap dir if it is running.

message LifecycleEvent

chaincode.proto:87

LifecycleEvent is used as the payload of the chaincode event emitted by LSCC

message LogLevelRequest

admin.proto:43

Used in: AdminOperation

message LogLevelResponse

admin.proto:48

Used as response type in: Admin.GetModuleLogLevel, Admin.SetModuleLogLevel

message LogSpecRequest

admin.proto:53

Used in: AdminOperation

message LogSpecResponse

admin.proto:57

Used as response type in: Admin.GetLogSpec, Admin.SetLogSpec

enum MetaDataKeys

transaction.proto:127

Reserved entries in the key-level metadata map

message ProcessedTransaction

transaction.proto:22

ProcessedTransaction wraps an Envelope that includes a transaction along with an indication of whether the transaction was validated or invalidated by committing peer. The use case is that GetTransactionByID API needs to retrieve the transaction Envelope from block storage, and return it to a client, and indicate whether the transaction was validated or invalidated by committing peer. So that the originally submitted transaction Envelope is not modified, the ProcessedTransaction wrapper is returned.

message Proposal

proposal.proto:122

A Proposal is sent to an endorser for endorsement. The proposal contains: 1. A header which should be unmarshaled to a Header message. Note that Header is both the header of a Proposal and of a Transaction, in that i) both headers should be unmarshaled to this message; and ii) it is used to compute cryptographic hashes and signatures. The header has fields common to all proposals/transactions. In addition it has a type field for additional customization. An example of this is the ChaincodeHeaderExtension message used to extend the Header for type CHAINCODE. 2. A payload whose type depends on the header's type field. 3. An extension whose type depends on the header's type field. Let us see an example. For type CHAINCODE (see the Header message), we have the following: 1. The header is a Header message whose extensions field is a ChaincodeHeaderExtension message. 2. The payload is a ChaincodeProposalPayload message. 3. The extension is a ChaincodeAction that might be used to ask the endorsers to endorse a specific ChaincodeAction, thus emulating the submitting peer model.

message ProposalResponsePayload

proposal_response.proto:61

ProposalResponsePayload is the payload of a proposal response. This message is the "bridge" between the client's request and the endorser's action in response to that request. Concretely, for chaincodes, it contains a hashed representation of the proposal (proposalHash) and a representation of the chaincode state changes and events inside the extension field.

message PutState

chaincode_shim.proto:78

PutState is the payload of a ChaincodeMessage. It contains a key and value which needs to be written to the transaction's write set. If the collection is specified, the key and value would be written to the transaction's private write set.

message PutStateMetadata

chaincode_shim.proto:84

message QueryMetadata

chaincode_shim.proto:123

QueryMetadata is the metadata of a GetStateByRange and GetQueryResult. It contains a pageSize which denotes the number of records to be fetched and a bookmark.

message QueryResponse

chaincode_shim.proto:152

QueryResponse is returned by the peer as a result of a GetStateByRange, GetQueryResult, and GetHistoryForKey. It holds a bunch of records in results field, a flag to denote whether more results need to be fetched from the peer in has_more field, transaction id in id field, and a QueryResponseMetadata in metadata field.

message QueryResponseMetadata

chaincode_shim.proto:161

QueryResponseMetadata is the metadata of a QueryResponse. It contains a count which denotes the number of records fetched from the ledger and a bookmark.

message QueryResultBytes

chaincode_shim.proto:143

QueryResultBytes hold the byte representation of a record returned by the peer.

Used in: QueryResponse

message QueryStateClose

chaincode_shim.proto:138

message QueryStateNext

chaincode_shim.proto:134

message Response

proposal_response.proto:45

A response with a representation similar to an HTTP response that can be used within another message.

Used in: ChaincodeAction, ProposalResponse

message ServerStatus

admin.proto:29

Used as response type in: Admin.GetStatus, Admin.StartServer

enum ServerStatus.StatusCode

admin.proto:31

Used in: ServerStatus

message SignedChaincodeDeploymentSpec

signed_cc_dep_spec.proto:15

SignedChaincodeDeploymentSpec carries the CDS along with endorsements

message SignedProposal

proposal.proto:92

This structure is necessary to sign the proposal which contains the header and the payload. Without this structure, we would have to concatenate the header and the payload to verify the signature, which could be expensive with large payload When an endorser receives a SignedProposal message, it should verify the signature over the proposal bytes. This verification requires the following steps: 1. Verification of the validity of the certificate that was used to produce the signature. The certificate will be available once proposalBytes has been unmarshalled to a Proposal message, and Proposal.header has been unmarshalled to a Header message. While this unmarshalling-before-verifying might not be ideal, it is unavoidable because i) the signature needs to also protect the signing certificate; ii) it is desirable that Header is created once by the client and never changed (for the sake of accountability and non-repudiation). Note also that it is actually impossible to conclusively verify the validity of the certificate included in a Proposal, because the proposal needs to first be endorsed and ordered with respect to certificate expiration transactions. Still, it is useful to pre-filter expired certificates at this stage. 2. Verification that the certificate is trusted (signed by a trusted CA) and that it is allowed to transact with us (with respect to some ACLs); 3. Verification that the signature on proposalBytes is valid; 4. Detect replay attacks;

Used as request type in: Endorser.ProcessProposal

Used as field type in: ChaincodeMessage

message SignedSnapshotRequest

snapshot.proto:34

SignedSnapshotRequest contains marshalled request bytes and signature

Used as request type in: Snapshot.Cancel, Snapshot.Generate, Snapshot.QueryPendings

message SnapshotQuery

snapshot.proto:26

SnapshotQuery contains information for a query snapshot request

message SnapshotRequest

snapshot.proto:16

SnapshotRequest contains information for a generate/cancel snapshot request

message StateMetadata

chaincode_shim.proto:166

Used in: PutStateMetadata, StateMetadataResult

message StateMetadataResult

chaincode_shim.proto:171

message StaticCollectionConfig

collection.proto:36

StaticCollectionConfig constitutes the configuration parameters of a static collection object. Static collections are collections that are known at chaincode instantiation time, and that cannot be changed. Dynamic collections are deferred.

Used in: CollectionConfig

message Transaction

transaction.proto:42

The transaction to be sent to the ordering service. A transaction contains one or more TransactionAction. Each TransactionAction binds a proposal to potentially multiple actions. The transaction is atomic meaning that either all actions in the transaction will be committed or none will. Note that while a Transaction might include more than one Header, the Header.creator field must be the same in each. A single client is free to issue a number of independent Proposal, each with their header (Header) and request payload (ChaincodeProposalPayload). Each proposal is independently endorsed generating an action (ProposalResponsePayload) with one signature per Endorser. Any number of independent proposals (and their action) might be included in a transaction to ensure that they are treated atomically.

message TransactionAction

transaction.proto:51

TransactionAction binds a proposal to its action. The type field in the header dictates the type of action to be applied to the ledger.

Used in: Transaction

enum TxValidationCode

transaction.proto:95

Used in: FilteredTransaction

message VSCCArgs

resources.proto:34

VSCCArgs is passed (marshaled) as a parameter to the VSCC imlementation via the argument field of the ChaincodeValidation message.