package protos

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

service Admin

admin.proto:30

Interface exported by the server.

service Deliver

events.proto:163

service Endorser

node.proto:37

service Events

events.proto:148

Interface exported by the events server

service SmartContractSupport

smart_contract_shim.proto:111

Interface that provides support to smartContract execution. SmartContractContext provides the context necessary for the server to respond appropriately.

message APIResource

resources.proto:20

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

message AnchorNode

configuration.proto:33

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

Used in: AnchorNodes

message AnchorNodes

configuration.proto:27

AnchorNodes simply represents list of anchor nodes which is used in ConfigurationItem

enum ConfidentialityLevel

smart_contract.proto:29

Confidentiality Levels

message DelState

smart_contract_shim.proto:70

message DeliverResponse

events.proto:155

DeliverResponse

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

message Endorsement

proposal_response.proto:113

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: ProposalResponse, SignedSmartContractDeploymentSpec, SmartContractEndorsedAction

enum EventType

events.proto:34

Used in: Interest

message FilteredBlock

events.proto:82

FilteredBlock is sent by producers and contains minimal information about the block.

Used in: DeliverResponse, Event

message FilteredSmartContractAction

events.proto:107

FilteredSmartContractAction is a minimal set of information about an action within a transaction.

Used in: FilteredTransactionActions

message FilteredTransaction

events.proto:90

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

Used in: FilteredBlock

message FilteredTransactionActions

events.proto:101

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

Used in: FilteredTransaction

message GetHistoryForKey

smart_contract_shim.proto:86

message GetQueryResult

smart_contract_shim.proto:81

message GetState

smart_contract_shim.proto:59

message GetStateByRange

smart_contract_shim.proto:75

message GroupInfo

query.proto:66

ChannelInfo contains general information about channels

Used in: GroupQueryResponse

message GroupQueryResponse

query.proto:61

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 Interest

events.proto:49

Used in: Register, Unregister

message LogLevelRequest

admin.proto:53

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

message LogLevelResponse

admin.proto:58

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

message NodeEndpoint

node.proto:32

message NodeID

node.proto:28

Used in: NodeEndpoint

message ProcessedTransaction

transaction.proto:51

ProcessedTransaction wraps an Envelope that includes a transaction along with an indication of whether the transaction was validated or invalidated by committing node. 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 node. So that the originally submitted transaction Envelope is not modified, the ProcessedTransaction wrapper is returned.

message Proposal

proposal.proto:136

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 SmartContractHeaderExtension message used to extend the Header for type SmartContract. 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 SmartContract (see the Header message), we have the following: 1. The header is a Header message whose extensions field is a SmartContractHeaderExtension message. 2. The payload is a SmartContractProposalPayload message. 3. The extension is a SmartContractAction that might be used to ask the endorsers to endorse a specific SmartContractAction, thus emulating the submitting node model.

message ProposalResponsePayload

proposal_response.proto:77

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 smart contracts, it contains a hashed representation of the proposal (proposalHash) and a representation of the smart contract state changes and events inside the extension field.

message PutState

smart_contract_shim.proto:64

message QueryResponse

smart_contract_shim.proto:102

message QueryResultBytes

smart_contract_shim.proto:98

Used in: QueryResponse

message QueryStateClose

smart_contract_shim.proto:94

message QueryStateNext

smart_contract_shim.proto:90

message Register

events.proto:64

---------- consumer events --------- Register is sent by consumers for registering events string type - "register"

Used in: Event

message Rejection

events.proto:70

Rejection is sent by consumers for erroneous transaction rejection events string type - "rejection"

Used in: Event

message Response

proposal_response.proto:60

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

Used in: ProposalResponse, SmartContractAction

message RootConfigTree

resources.proto:61

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

message ServerStatus

admin.proto:39

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

enum ServerStatus.StatusCode

admin.proto:41

Used in: ServerStatus

message SignedProposal

proposal.proto:106

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: SmartContractMessage

message SignedSmartContractDeploymentSpec

signed_sc_dep_spec.proto:28

SignedSmartContractDeploymentSpec carries the CDS along with endorsements

message SignedTransaction

transaction.proto:33

This message is necessary to facilitate the verification of the signature (in the signature field) over the bytes of the transaction (in the transactionBytes field).

message SmartContractAction

proposal.proto:257

SmartContractAction contains the actions the events generated by the execution of the SmartContract.

message SmartContractActionPayload

transaction.proto:95

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

message SmartContractData

smart_contract_data.proto:29

SmartContractData 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 specifc (see CDSPackage and SignedCDSPackage)

message SmartContractDeploymentSpec

smart_contract.proto:82

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

enum SmartContractDeploymentSpec.ExecutionEnvironment

smart_contract.proto:84

Used in: SmartContractDeploymentSpec

message SmartContractEndorsedAction

transaction.proto:114

SmartContractEndorsedAction carries information about the endorsement of a specific proposal

Used in: SmartContractActionPayload

message SmartContractEndorsement

resources.proto:53

SmartContractEndorsement 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 SmartContractEvent

smart_contract_event.proto:27

SmartContractEvent is used for events and registrations that are specific to smart contract string type - "Smart Contract"

Used in: Event, FilteredSmartContractAction, SmartContractMessage

message SmartContractHeaderExtension

proposal.proto:219

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

message SmartContractID

smart_contract.proto:42

SmartContractID 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: SmartContractAction, SmartContractHeaderExtension, SmartContractSpec

message SmartContractIdentifier

resources.proto:27

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

message SmartContractInfo

query.proto:36

ChaincodeInfo contains general information about an installed/instantiated chaincode

Used in: SmartContractQueryResponse

message SmartContractInput

smart_contract.proto:57

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

Used in: SmartContractSpec

message SmartContractInvocationSpec

smart_contract.proto:98

Carries the SmartContract function and its arguments.

enum SmartContractMessage.Type

smart_contract_shim.proto:21

Used in: SmartContractMessage

message SmartContractProposalPayload

proposal.proto:241

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

message SmartContractQueryResponse

query.proto:30

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 SmartContractReg

events.proto:44

SmartContractReg is used for registering smartcontract Interests when EventType is SMART_CONTRACT

Used in: Interest

message SmartContractSpec

smart_contract.proto:64

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

Used in: SmartContractDeploymentSpec, SmartContractInvocationSpec

enum SmartContractSpec.Type

smart_contract.proto:66

Used in: SmartContractSpec

message SmartContractValidation

resources.proto:37

SmartContractValidation instructs the peer how transactions for this SmartContract should be validated. The only validation mechanism which ships with fabric today is the standard 'vssc' 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 Transaction

transaction.proto:71

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 (SmartContractProposalPayload). 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.

Used in: Rejection

message TransactionAction

transaction.proto:80

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:126

Used in: FilteredTransaction

message Unregister

events.proto:76

---------- producer events ---------

Used in: Event

message VSSCArgs

resources.proto:44

VSSCArgs is passed (marshaled) as a parameter to the VSSC imlementation via the argument field of the SmartContractValidation message.