peer

package
v1.0.0-preview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 31, 2017 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package peer is a generated protocol buffer package.

It is generated from these files:

peer/admin.proto
peer/chaincode.proto
peer/chaincodeevent.proto
peer/configuration.proto
peer/events.proto
peer/peer.proto
peer/proposal.proto
peer/proposal_response.proto
peer/transaction.proto

It has these top-level messages:

ServerStatus
LogLevelRequest
LogLevelResponse
ChaincodeID
ChaincodeInput
ChaincodeSpec
ChaincodeDeploymentSpec
ChaincodeInvocationSpec
ChaincodeProposalContext
ChaincodeMessage
PutStateInfo
RangeQueryState
RangeQueryStateNext
RangeQueryStateClose
RangeQueryStateKeyValue
RangeQueryStateResponse
ChaincodeEvent
AnchorPeers
AnchorPeer
ChaincodeReg
Interest
Register
Rejection
Unregister
Event
PeerID
PeerEndpoint
BlockchainInfo
SignedProposal
Proposal
ChaincodeHeaderExtension
ChaincodeProposalPayload
ChaincodeAction
ProposalResponse
Response
ProposalResponsePayload
Endorsement
SignedTransaction
InvalidTransaction
Transaction
TransactionAction
ChaincodeActionPayload
ChaincodeEndorsedAction

Index

Constants

This section is empty.

Variables

View Source
var ChaincodeDeploymentSpec_ExecutionEnvironment_name = map[int32]string{
	0: "DOCKER",
	1: "SYSTEM",
}
View Source
var ChaincodeDeploymentSpec_ExecutionEnvironment_value = map[string]int32{
	"DOCKER": 0,
	"SYSTEM": 1,
}
View Source
var ChaincodeMessage_Type_name = map[int32]string{
	0:  "UNDEFINED",
	1:  "REGISTER",
	2:  "REGISTERED",
	3:  "INIT",
	4:  "READY",
	5:  "TRANSACTION",
	6:  "COMPLETED",
	7:  "ERROR",
	8:  "GET_STATE",
	9:  "PUT_STATE",
	10: "DEL_STATE",
	11: "INVOKE_CHAINCODE",
	13: "RESPONSE",
	14: "RANGE_QUERY_STATE",
	15: "EXECUTE_QUERY_STATE",
	16: "QUERY_STATE_NEXT",
	17: "QUERY_STATE_CLOSE",
	18: "KEEPALIVE",
}
View Source
var ChaincodeMessage_Type_value = map[string]int32{
	"UNDEFINED":           0,
	"REGISTER":            1,
	"REGISTERED":          2,
	"INIT":                3,
	"READY":               4,
	"TRANSACTION":         5,
	"COMPLETED":           6,
	"ERROR":               7,
	"GET_STATE":           8,
	"PUT_STATE":           9,
	"DEL_STATE":           10,
	"INVOKE_CHAINCODE":    11,
	"RESPONSE":            13,
	"RANGE_QUERY_STATE":   14,
	"EXECUTE_QUERY_STATE": 15,
	"QUERY_STATE_NEXT":    16,
	"QUERY_STATE_CLOSE":   17,
	"KEEPALIVE":           18,
}
View Source
var ChaincodeSpec_Type_name = map[int32]string{
	0: "UNDEFINED",
	1: "GOLANG",
	2: "NODE",
	3: "CAR",
	4: "JAVA",
}
View Source
var ChaincodeSpec_Type_value = map[string]int32{
	"UNDEFINED": 0,
	"GOLANG":    1,
	"NODE":      2,
	"CAR":       3,
	"JAVA":      4,
}
View Source
var ConfidentialityLevel_name = map[int32]string{
	0: "PUBLIC",
	1: "CONFIDENTIAL",
}
View Source
var ConfidentialityLevel_value = map[string]int32{
	"PUBLIC":       0,
	"CONFIDENTIAL": 1,
}
View Source
var EventType_name = map[int32]string{
	0: "REGISTER",
	1: "BLOCK",
	2: "CHAINCODE",
	3: "REJECTION",
}
View Source
var EventType_value = map[string]int32{
	"REGISTER":  0,
	"BLOCK":     1,
	"CHAINCODE": 2,
	"REJECTION": 3,
}
View Source
var InvalidTransaction_Cause_name = map[int32]string{
	0: "TxIdAlreadyExists",
	1: "RWConflictDuringCommit",
}
View Source
var InvalidTransaction_Cause_value = map[string]int32{
	"TxIdAlreadyExists":      0,
	"RWConflictDuringCommit": 1,
}
View Source
var ServerStatus_StatusCode_name = map[int32]string{
	0: "UNDEFINED",
	1: "STARTED",
	2: "STOPPED",
	3: "PAUSED",
	4: "ERROR",
	5: "UNKNOWN",
}
View Source
var ServerStatus_StatusCode_value = map[string]int32{
	"UNDEFINED": 0,
	"STARTED":   1,
	"STOPPED":   2,
	"PAUSED":    3,
	"ERROR":     4,
	"UNKNOWN":   5,
}

Functions

func RegisterAdminServer

func RegisterAdminServer(s *grpc.Server, srv AdminServer)

func RegisterChaincodeSupportServer

func RegisterChaincodeSupportServer(s *grpc.Server, srv ChaincodeSupportServer)

func RegisterEndorserServer

func RegisterEndorserServer(s *grpc.Server, srv EndorserServer)

func RegisterEventsServer

func RegisterEventsServer(s *grpc.Server, srv EventsServer)

Types

type AdminClient

type AdminClient interface {
	// Return the serve status.
	GetStatus(ctx context.Context, in *google_protobuf.Empty, opts ...grpc.CallOption) (*ServerStatus, error)
	StartServer(ctx context.Context, in *google_protobuf.Empty, opts ...grpc.CallOption) (*ServerStatus, error)
	StopServer(ctx context.Context, in *google_protobuf.Empty, opts ...grpc.CallOption) (*ServerStatus, error)
	GetModuleLogLevel(ctx context.Context, in *LogLevelRequest, opts ...grpc.CallOption) (*LogLevelResponse, error)
	SetModuleLogLevel(ctx context.Context, in *LogLevelRequest, opts ...grpc.CallOption) (*LogLevelResponse, error)
}

func NewAdminClient

func NewAdminClient(cc *grpc.ClientConn) AdminClient

type AdminServer

type AdminServer interface {
	// Return the serve status.
	GetStatus(context.Context, *google_protobuf.Empty) (*ServerStatus, error)
	StartServer(context.Context, *google_protobuf.Empty) (*ServerStatus, error)
	StopServer(context.Context, *google_protobuf.Empty) (*ServerStatus, error)
	GetModuleLogLevel(context.Context, *LogLevelRequest) (*LogLevelResponse, error)
	SetModuleLogLevel(context.Context, *LogLevelRequest) (*LogLevelResponse, error)
}

type AnchorPeer

type AnchorPeer struct {
	// DNS host name of the anchor peer
	Host string `protobuf:"bytes,1,opt,name=Host" json:"Host,omitempty"`
	// The port number
	Port int32 `protobuf:"varint,2,opt,name=Port" json:"Port,omitempty"`
	// SSL certificate to be used to maintain mutual TLS
	// connection with anchor peer
	Cert []byte `protobuf:"bytes,3,opt,name=Cert,proto3" json:"Cert,omitempty"`
}

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

func (*AnchorPeer) Descriptor

func (*AnchorPeer) Descriptor() ([]byte, []int)

func (*AnchorPeer) ProtoMessage

func (*AnchorPeer) ProtoMessage()

func (*AnchorPeer) Reset

func (m *AnchorPeer) Reset()

func (*AnchorPeer) String

func (m *AnchorPeer) String() string

type AnchorPeers

type AnchorPeers struct {
	AnchorPeers []*AnchorPeer `protobuf:"bytes,1,rep,name=anchorPeers" json:"anchorPeers,omitempty"`
}

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

func (*AnchorPeers) Descriptor

func (*AnchorPeers) Descriptor() ([]byte, []int)

func (*AnchorPeers) GetAnchorPeers

func (m *AnchorPeers) GetAnchorPeers() []*AnchorPeer

func (*AnchorPeers) ProtoMessage

func (*AnchorPeers) ProtoMessage()

func (*AnchorPeers) Reset

func (m *AnchorPeers) Reset()

func (*AnchorPeers) String

func (m *AnchorPeers) String() string

type BlockchainInfo

type BlockchainInfo struct {
	Height            uint64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
	CurrentBlockHash  []byte `protobuf:"bytes,2,opt,name=currentBlockHash,proto3" json:"currentBlockHash,omitempty"`
	PreviousBlockHash []byte `protobuf:"bytes,3,opt,name=previousBlockHash,proto3" json:"previousBlockHash,omitempty"`
}

Contains information about the blockchain ledger such as height, current block hash, and previous block hash.

func (*BlockchainInfo) Descriptor

func (*BlockchainInfo) Descriptor() ([]byte, []int)

func (*BlockchainInfo) ProtoMessage

func (*BlockchainInfo) ProtoMessage()

func (*BlockchainInfo) Reset

func (m *BlockchainInfo) Reset()

func (*BlockchainInfo) String

func (m *BlockchainInfo) String() string

type ChaincodeAction

type ChaincodeAction struct {
	// This field contains the read set and the write set produced by the
	// chaincode executing this invocation.
	Results []byte `protobuf:"bytes,1,opt,name=results,proto3" json:"results,omitempty"`
	// This field contains the events generated by the chaincode executing this
	// invocation.
	Events []byte `protobuf:"bytes,2,opt,name=events,proto3" json:"events,omitempty"`
	// This field contains the result of executing this invocation.
	Response *Response `protobuf:"bytes,3,opt,name=response" json:"response,omitempty"`
}

ChaincodeAction contains the actions the events generated by the execution of the chaincode.

func (*ChaincodeAction) Descriptor

func (*ChaincodeAction) Descriptor() ([]byte, []int)

func (*ChaincodeAction) GetResponse

func (m *ChaincodeAction) GetResponse() *Response

func (*ChaincodeAction) ProtoMessage

func (*ChaincodeAction) ProtoMessage()

func (*ChaincodeAction) Reset

func (m *ChaincodeAction) Reset()

func (*ChaincodeAction) String

func (m *ChaincodeAction) String() string

type ChaincodeActionPayload

type ChaincodeActionPayload struct {
	// This field contains the bytes of the ChaincodeProposalPayload message from
	// the original invocation (essentially the arguments) after the application
	// of the visibility function. The main visibility modes are "full" (the
	// entire ChaincodeProposalPayload message is included here), "hash" (only
	// the hash of the ChaincodeProposalPayload message is included) or
	// "nothing".  This field will be used to check the consistency of
	// ProposalResponsePayload.proposalHash.  For the CHAINCODE type,
	// ProposalResponsePayload.proposalHash is supposed to be H(ProposalHeader ||
	// f(ChaincodeProposalPayload)) where f is the visibility function.
	ChaincodeProposalPayload []byte `protobuf:"bytes,1,opt,name=chaincodeProposalPayload,proto3" json:"chaincodeProposalPayload,omitempty"`
	// The list of actions to apply to the ledger
	Action *ChaincodeEndorsedAction `protobuf:"bytes,2,opt,name=action" json:"action,omitempty"`
}

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.

func (*ChaincodeActionPayload) Descriptor

func (*ChaincodeActionPayload) Descriptor() ([]byte, []int)

func (*ChaincodeActionPayload) GetAction

func (*ChaincodeActionPayload) ProtoMessage

func (*ChaincodeActionPayload) ProtoMessage()

func (*ChaincodeActionPayload) Reset

func (m *ChaincodeActionPayload) Reset()

func (*ChaincodeActionPayload) String

func (m *ChaincodeActionPayload) String() string

type ChaincodeDeploymentSpec

type ChaincodeDeploymentSpec struct {
	ChaincodeSpec *ChaincodeSpec `protobuf:"bytes,1,opt,name=chaincodeSpec" json:"chaincodeSpec,omitempty"`
	// Controls when the chaincode becomes executable.
	EffectiveDate *google_protobuf1.Timestamp                  `protobuf:"bytes,2,opt,name=effectiveDate" json:"effectiveDate,omitempty"`
	CodePackage   []byte                                       `protobuf:"bytes,3,opt,name=codePackage,proto3" json:"codePackage,omitempty"`
	ExecEnv       ChaincodeDeploymentSpec_ExecutionEnvironment `protobuf:"varint,4,opt,name=execEnv,enum=protos.ChaincodeDeploymentSpec_ExecutionEnvironment" json:"execEnv,omitempty"`
}

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

func (*ChaincodeDeploymentSpec) Descriptor

func (*ChaincodeDeploymentSpec) Descriptor() ([]byte, []int)

func (*ChaincodeDeploymentSpec) GetChaincodeSpec

func (m *ChaincodeDeploymentSpec) GetChaincodeSpec() *ChaincodeSpec

func (*ChaincodeDeploymentSpec) GetEffectiveDate

func (m *ChaincodeDeploymentSpec) GetEffectiveDate() *google_protobuf1.Timestamp

func (*ChaincodeDeploymentSpec) ProtoMessage

func (*ChaincodeDeploymentSpec) ProtoMessage()

func (*ChaincodeDeploymentSpec) Reset

func (m *ChaincodeDeploymentSpec) Reset()

func (*ChaincodeDeploymentSpec) String

func (m *ChaincodeDeploymentSpec) String() string

type ChaincodeDeploymentSpec_ExecutionEnvironment

type ChaincodeDeploymentSpec_ExecutionEnvironment int32
const (
	ChaincodeDeploymentSpec_DOCKER ChaincodeDeploymentSpec_ExecutionEnvironment = 0
	ChaincodeDeploymentSpec_SYSTEM ChaincodeDeploymentSpec_ExecutionEnvironment = 1
)

func (ChaincodeDeploymentSpec_ExecutionEnvironment) EnumDescriptor

func (ChaincodeDeploymentSpec_ExecutionEnvironment) EnumDescriptor() ([]byte, []int)

func (ChaincodeDeploymentSpec_ExecutionEnvironment) String

type ChaincodeEndorsedAction

type ChaincodeEndorsedAction struct {
	// This is the bytes of the ProposalResponsePayload message signed by the
	// endorsers.  Recall that for the CHAINCODE type, the
	// ProposalResponsePayload's extenstion field carries a ChaincodeAction
	ProposalResponsePayload []byte `protobuf:"bytes,1,opt,name=proposalResponsePayload,proto3" json:"proposalResponsePayload,omitempty"`
	// The endorsement of the proposal, basically the endorser's signature over
	// proposalResponsePayload
	Endorsements []*Endorsement `protobuf:"bytes,2,rep,name=endorsements" json:"endorsements,omitempty"`
}

ChaincodeEndorsedAction carries information about the endorsement of a specific proposal

func (*ChaincodeEndorsedAction) Descriptor

func (*ChaincodeEndorsedAction) Descriptor() ([]byte, []int)

func (*ChaincodeEndorsedAction) GetEndorsements

func (m *ChaincodeEndorsedAction) GetEndorsements() []*Endorsement

func (*ChaincodeEndorsedAction) ProtoMessage

func (*ChaincodeEndorsedAction) ProtoMessage()

func (*ChaincodeEndorsedAction) Reset

func (m *ChaincodeEndorsedAction) Reset()

func (*ChaincodeEndorsedAction) String

func (m *ChaincodeEndorsedAction) String() string

type ChaincodeEvent

type ChaincodeEvent struct {
	ChaincodeID string `protobuf:"bytes,1,opt,name=chaincodeID" json:"chaincodeID,omitempty"`
	TxID        string `protobuf:"bytes,2,opt,name=txID" json:"txID,omitempty"`
	EventName   string `protobuf:"bytes,3,opt,name=eventName" json:"eventName,omitempty"`
	Payload     []byte `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"`
}

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

func (*ChaincodeEvent) Descriptor

func (*ChaincodeEvent) Descriptor() ([]byte, []int)

func (*ChaincodeEvent) ProtoMessage

func (*ChaincodeEvent) ProtoMessage()

func (*ChaincodeEvent) Reset

func (m *ChaincodeEvent) Reset()

func (*ChaincodeEvent) String

func (m *ChaincodeEvent) String() string

type ChaincodeHeaderExtension

type ChaincodeHeaderExtension struct {
	// The PayloadVisibility field controls to what extent the Proposal's payload
	// (recall that for the type CHAINCODE, it is ChaincodeProposalPayload
	// message) field will be visible in the final transaction and in the ledger.
	// Ideally, it would be configurable, supporting at least 3 main “visibility
	// modes”:
	// 1. all bytes of the payload are visible;
	// 2. only a hash of the payload is visible;
	// 3. nothing is visible.
	// Notice that the visibility function may be potentially part of the ESCC.
	// In that case it overrides PayloadVisibility field.  Finally notice that
	// this field impacts the content of ProposalResponsePayload.proposalHash.
	PayloadVisibility []byte `protobuf:"bytes,1,opt,name=payloadVisibility,proto3" json:"payloadVisibility,omitempty"`
	// The ID of the chaincode to target.
	ChaincodeID *ChaincodeID `protobuf:"bytes,2,opt,name=chaincodeID" json:"chaincodeID,omitempty"`
}

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.

func (*ChaincodeHeaderExtension) Descriptor

func (*ChaincodeHeaderExtension) Descriptor() ([]byte, []int)

func (*ChaincodeHeaderExtension) GetChaincodeID

func (m *ChaincodeHeaderExtension) GetChaincodeID() *ChaincodeID

func (*ChaincodeHeaderExtension) ProtoMessage

func (*ChaincodeHeaderExtension) ProtoMessage()

func (*ChaincodeHeaderExtension) Reset

func (m *ChaincodeHeaderExtension) Reset()

func (*ChaincodeHeaderExtension) String

func (m *ChaincodeHeaderExtension) String() string

type ChaincodeID

type ChaincodeID struct {
	// deploy transaction will use the path
	Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
	// all other requests will use the name (really a hashcode) generated by
	// the deploy transaction
	Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
}

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

func (*ChaincodeID) Descriptor

func (*ChaincodeID) Descriptor() ([]byte, []int)

func (*ChaincodeID) ProtoMessage

func (*ChaincodeID) ProtoMessage()

func (*ChaincodeID) Reset

func (m *ChaincodeID) Reset()

func (*ChaincodeID) String

func (m *ChaincodeID) String() string

type ChaincodeInput

type ChaincodeInput struct {
	Args [][]byte `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"`
}

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.

func (*ChaincodeInput) Descriptor

func (*ChaincodeInput) Descriptor() ([]byte, []int)

func (*ChaincodeInput) ProtoMessage

func (*ChaincodeInput) ProtoMessage()

func (*ChaincodeInput) Reset

func (m *ChaincodeInput) Reset()

func (*ChaincodeInput) String

func (m *ChaincodeInput) String() string

func (*ChaincodeInput) UnmarshalJSON

func (c *ChaincodeInput) UnmarshalJSON(b []byte) error

UnmarshalJSON converts the string-based REST/JSON input to the []byte-based current ChaincodeInput structure.

type ChaincodeInvocationSpec

type ChaincodeInvocationSpec struct {
	ChaincodeSpec *ChaincodeSpec `protobuf:"bytes,1,opt,name=chaincodeSpec" json:"chaincodeSpec,omitempty"`
	// This field can contain a user-specified ID generation algorithm
	// If supplied, this will be used to generate a ID
	// If not supplied (left empty), sha256base64 will be used
	// The algorithm consists of two parts:
	//  1, a hash function
	//  2, a decoding used to decode user (string) input to bytes
	// Currently, SHA256 with BASE64 is supported (e.g. idGenerationAlg='sha256base64')
	IdGenerationAlg string `protobuf:"bytes,2,opt,name=idGenerationAlg" json:"idGenerationAlg,omitempty"`
}

Carries the chaincode function and its arguments.

func (*ChaincodeInvocationSpec) Descriptor

func (*ChaincodeInvocationSpec) Descriptor() ([]byte, []int)

func (*ChaincodeInvocationSpec) GetChaincodeSpec

func (m *ChaincodeInvocationSpec) GetChaincodeSpec() *ChaincodeSpec

func (*ChaincodeInvocationSpec) ProtoMessage

func (*ChaincodeInvocationSpec) ProtoMessage()

func (*ChaincodeInvocationSpec) Reset

func (m *ChaincodeInvocationSpec) Reset()

func (*ChaincodeInvocationSpec) String

func (m *ChaincodeInvocationSpec) String() string

type ChaincodeMessage

type ChaincodeMessage struct {
	Type            ChaincodeMessage_Type       `protobuf:"varint,1,opt,name=type,enum=protos.ChaincodeMessage_Type" json:"type,omitempty"`
	Timestamp       *google_protobuf1.Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	Payload         []byte                      `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`
	Txid            string                      `protobuf:"bytes,4,opt,name=txid" json:"txid,omitempty"`
	ProposalContext *ChaincodeProposalContext   `protobuf:"bytes,5,opt,name=proposalContext" json:"proposalContext,omitempty"`
	// event emmited by chaincode. Used only with Init or Invoke.
	// This event is then stored (currently)
	// with Block.NonHashData.TransactionResult
	ChaincodeEvent *ChaincodeEvent `protobuf:"bytes,6,opt,name=chaincodeEvent" json:"chaincodeEvent,omitempty"`
}

func (*ChaincodeMessage) Descriptor

func (*ChaincodeMessage) Descriptor() ([]byte, []int)

func (*ChaincodeMessage) GetChaincodeEvent

func (m *ChaincodeMessage) GetChaincodeEvent() *ChaincodeEvent

func (*ChaincodeMessage) GetProposalContext

func (m *ChaincodeMessage) GetProposalContext() *ChaincodeProposalContext

func (*ChaincodeMessage) GetTimestamp

func (m *ChaincodeMessage) GetTimestamp() *google_protobuf1.Timestamp

func (*ChaincodeMessage) ProtoMessage

func (*ChaincodeMessage) ProtoMessage()

func (*ChaincodeMessage) Reset

func (m *ChaincodeMessage) Reset()

func (*ChaincodeMessage) String

func (m *ChaincodeMessage) String() string

type ChaincodeMessage_Type

type ChaincodeMessage_Type int32
const (
	ChaincodeMessage_UNDEFINED           ChaincodeMessage_Type = 0
	ChaincodeMessage_REGISTER            ChaincodeMessage_Type = 1
	ChaincodeMessage_REGISTERED          ChaincodeMessage_Type = 2
	ChaincodeMessage_INIT                ChaincodeMessage_Type = 3
	ChaincodeMessage_READY               ChaincodeMessage_Type = 4
	ChaincodeMessage_TRANSACTION         ChaincodeMessage_Type = 5
	ChaincodeMessage_COMPLETED           ChaincodeMessage_Type = 6
	ChaincodeMessage_ERROR               ChaincodeMessage_Type = 7
	ChaincodeMessage_GET_STATE           ChaincodeMessage_Type = 8
	ChaincodeMessage_PUT_STATE           ChaincodeMessage_Type = 9
	ChaincodeMessage_DEL_STATE           ChaincodeMessage_Type = 10
	ChaincodeMessage_INVOKE_CHAINCODE    ChaincodeMessage_Type = 11
	ChaincodeMessage_RESPONSE            ChaincodeMessage_Type = 13
	ChaincodeMessage_RANGE_QUERY_STATE   ChaincodeMessage_Type = 14
	ChaincodeMessage_EXECUTE_QUERY_STATE ChaincodeMessage_Type = 15
	ChaincodeMessage_QUERY_STATE_NEXT    ChaincodeMessage_Type = 16
	ChaincodeMessage_QUERY_STATE_CLOSE   ChaincodeMessage_Type = 17
	ChaincodeMessage_KEEPALIVE           ChaincodeMessage_Type = 18
)

func (ChaincodeMessage_Type) EnumDescriptor

func (ChaincodeMessage_Type) EnumDescriptor() ([]byte, []int)

func (ChaincodeMessage_Type) String

func (x ChaincodeMessage_Type) String() string

type ChaincodeProposalContext

type ChaincodeProposalContext struct {
	// Creator corresponds to SignatureHeader.Creator
	Creator []byte `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"`
	// Transient corresponds to ChaincodeProposalPayload.Transient
	// TODO: The transient field is supposed to carry application-specific
	// data. They might be realted to access-control, encryption and so on.
	// To simply access to this data, replacing bytes with a map
	// is the next step to be carried.
	Transient []byte `protobuf:"bytes,2,opt,name=transient,proto3" json:"transient,omitempty"`
}

ChaincodeProposalContext contains proposal data that we send to the chaincode container shim and allow the chaincode to access through the shim interface.

func (*ChaincodeProposalContext) Descriptor

func (*ChaincodeProposalContext) Descriptor() ([]byte, []int)

func (*ChaincodeProposalContext) ProtoMessage

func (*ChaincodeProposalContext) ProtoMessage()

func (*ChaincodeProposalContext) Reset

func (m *ChaincodeProposalContext) Reset()

func (*ChaincodeProposalContext) String

func (m *ChaincodeProposalContext) String() string

type ChaincodeProposalPayload

type ChaincodeProposalPayload struct {
	// Input contains the arguments for this invocation. If this invocation
	// deploys a new chaincode, ESCC/VSCC are part of this field.
	Input []byte `protobuf:"bytes,1,opt,name=Input,proto3" json:"Input,omitempty"`
	// Transient contains data (e.g. cryptographic material) that might be used
	// to implement some form of application-level confidentiality. The contents
	// of this field are supposed to always be omitted from the transaction and
	// excluded from the ledger.
	Transient []byte `protobuf:"bytes,2,opt,name=Transient,proto3" json:"Transient,omitempty"`
}

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

func (*ChaincodeProposalPayload) Descriptor

func (*ChaincodeProposalPayload) Descriptor() ([]byte, []int)

func (*ChaincodeProposalPayload) ProtoMessage

func (*ChaincodeProposalPayload) ProtoMessage()

func (*ChaincodeProposalPayload) Reset

func (m *ChaincodeProposalPayload) Reset()

func (*ChaincodeProposalPayload) String

func (m *ChaincodeProposalPayload) String() string

type ChaincodeReg

type ChaincodeReg struct {
	ChaincodeID string `protobuf:"bytes,1,opt,name=chaincodeID" json:"chaincodeID,omitempty"`
	EventName   string `protobuf:"bytes,2,opt,name=eventName" json:"eventName,omitempty"`
}

ChaincodeReg is used for registering chaincode Interests when EventType is CHAINCODE

func (*ChaincodeReg) Descriptor

func (*ChaincodeReg) Descriptor() ([]byte, []int)

func (*ChaincodeReg) ProtoMessage

func (*ChaincodeReg) ProtoMessage()

func (*ChaincodeReg) Reset

func (m *ChaincodeReg) Reset()

func (*ChaincodeReg) String

func (m *ChaincodeReg) String() string

type ChaincodeSpec

type ChaincodeSpec struct {
	Type        ChaincodeSpec_Type `protobuf:"varint,1,opt,name=type,enum=protos.ChaincodeSpec_Type" json:"type,omitempty"`
	ChaincodeID *ChaincodeID       `protobuf:"bytes,2,opt,name=chaincodeID" json:"chaincodeID,omitempty"`
	Input       *ChaincodeInput    `protobuf:"bytes,3,opt,name=input" json:"input,omitempty"`
	Timeout     int32              `protobuf:"varint,4,opt,name=timeout" json:"timeout,omitempty"`
}

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

func (*ChaincodeSpec) Descriptor

func (*ChaincodeSpec) Descriptor() ([]byte, []int)

func (*ChaincodeSpec) GetChaincodeID

func (m *ChaincodeSpec) GetChaincodeID() *ChaincodeID

func (*ChaincodeSpec) GetInput

func (m *ChaincodeSpec) GetInput() *ChaincodeInput

func (*ChaincodeSpec) ProtoMessage

func (*ChaincodeSpec) ProtoMessage()

func (*ChaincodeSpec) Reset

func (m *ChaincodeSpec) Reset()

func (*ChaincodeSpec) String

func (m *ChaincodeSpec) String() string

type ChaincodeSpec_Type

type ChaincodeSpec_Type int32
const (
	ChaincodeSpec_UNDEFINED ChaincodeSpec_Type = 0
	ChaincodeSpec_GOLANG    ChaincodeSpec_Type = 1
	ChaincodeSpec_NODE      ChaincodeSpec_Type = 2
	ChaincodeSpec_CAR       ChaincodeSpec_Type = 3
	ChaincodeSpec_JAVA      ChaincodeSpec_Type = 4
)

func (ChaincodeSpec_Type) EnumDescriptor

func (ChaincodeSpec_Type) EnumDescriptor() ([]byte, []int)

func (ChaincodeSpec_Type) String

func (x ChaincodeSpec_Type) String() string

type ChaincodeSupportClient

type ChaincodeSupportClient interface {
	Register(ctx context.Context, opts ...grpc.CallOption) (ChaincodeSupport_RegisterClient, error)
}

func NewChaincodeSupportClient

func NewChaincodeSupportClient(cc *grpc.ClientConn) ChaincodeSupportClient

type ChaincodeSupportServer

type ChaincodeSupportServer interface {
	Register(ChaincodeSupport_RegisterServer) error
}

type ChaincodeSupport_RegisterClient

type ChaincodeSupport_RegisterClient interface {
	Send(*ChaincodeMessage) error
	Recv() (*ChaincodeMessage, error)
	grpc.ClientStream
}

type ChaincodeSupport_RegisterServer

type ChaincodeSupport_RegisterServer interface {
	Send(*ChaincodeMessage) error
	Recv() (*ChaincodeMessage, error)
	grpc.ServerStream
}

type ConfidentialityLevel

type ConfidentialityLevel int32

Confidentiality Levels

const (
	ConfidentialityLevel_PUBLIC       ConfidentialityLevel = 0
	ConfidentialityLevel_CONFIDENTIAL ConfidentialityLevel = 1
)

func (ConfidentialityLevel) EnumDescriptor

func (ConfidentialityLevel) EnumDescriptor() ([]byte, []int)

func (ConfidentialityLevel) String

func (x ConfidentialityLevel) String() string

type Endorsement

type Endorsement struct {
	// Identity of the endorser (e.g. its certificate)
	Endorser []byte `protobuf:"bytes,1,opt,name=endorser,proto3" json:"endorser,omitempty"`
	// Signature of the payload included in ProposalResponse concatenated with
	// the endorser's certificate; ie, sign(ProposalResponse.payload + endorser)
	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
}

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)

func (*Endorsement) Descriptor

func (*Endorsement) Descriptor() ([]byte, []int)

func (*Endorsement) ProtoMessage

func (*Endorsement) ProtoMessage()

func (*Endorsement) Reset

func (m *Endorsement) Reset()

func (*Endorsement) String

func (m *Endorsement) String() string

type EndorserClient

type EndorserClient interface {
	ProcessProposal(ctx context.Context, in *SignedProposal, opts ...grpc.CallOption) (*ProposalResponse, error)
}

func NewEndorserClient

func NewEndorserClient(cc *grpc.ClientConn) EndorserClient

type EndorserServer

type EndorserServer interface {
	ProcessProposal(context.Context, *SignedProposal) (*ProposalResponse, error)
}

type Event

type Event struct {
	// Types that are valid to be assigned to Event:
	//	*Event_Register
	//	*Event_Block
	//	*Event_ChaincodeEvent
	//	*Event_Rejection
	//	*Event_Unregister
	Event isEvent_Event `protobuf_oneof:"Event"`
}

Event is used by

  • consumers (adapters) to send Register
  • producer to advertise supported types and events

func (*Event) Descriptor

func (*Event) Descriptor() ([]byte, []int)

func (*Event) GetBlock

func (m *Event) GetBlock() *common.Block

func (*Event) GetChaincodeEvent

func (m *Event) GetChaincodeEvent() *ChaincodeEvent

func (*Event) GetEvent

func (m *Event) GetEvent() isEvent_Event

func (*Event) GetRegister

func (m *Event) GetRegister() *Register

func (*Event) GetRejection

func (m *Event) GetRejection() *Rejection

func (*Event) GetUnregister

func (m *Event) GetUnregister() *Unregister

func (*Event) ProtoMessage

func (*Event) ProtoMessage()

func (*Event) Reset

func (m *Event) Reset()

func (*Event) String

func (m *Event) String() string

func (*Event) XXX_OneofFuncs

func (*Event) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type EventType

type EventType int32
const (
	EventType_REGISTER  EventType = 0
	EventType_BLOCK     EventType = 1
	EventType_CHAINCODE EventType = 2
	EventType_REJECTION EventType = 3
)

func (EventType) EnumDescriptor

func (EventType) EnumDescriptor() ([]byte, []int)

func (EventType) String

func (x EventType) String() string

type Event_Block

type Event_Block struct {
	Block *common.Block `protobuf:"bytes,2,opt,name=block,oneof"`
}

type Event_ChaincodeEvent

type Event_ChaincodeEvent struct {
	ChaincodeEvent *ChaincodeEvent `protobuf:"bytes,3,opt,name=chaincodeEvent,oneof"`
}

type Event_Register

type Event_Register struct {
	Register *Register `protobuf:"bytes,1,opt,name=register,oneof"`
}

type Event_Rejection

type Event_Rejection struct {
	Rejection *Rejection `protobuf:"bytes,4,opt,name=rejection,oneof"`
}

type Event_Unregister

type Event_Unregister struct {
	Unregister *Unregister `protobuf:"bytes,5,opt,name=unregister,oneof"`
}

type EventsClient

type EventsClient interface {
	// event chatting using Event
	Chat(ctx context.Context, opts ...grpc.CallOption) (Events_ChatClient, error)
}

func NewEventsClient

func NewEventsClient(cc *grpc.ClientConn) EventsClient

type EventsServer

type EventsServer interface {
	// event chatting using Event
	Chat(Events_ChatServer) error
}

type Events_ChatClient

type Events_ChatClient interface {
	Send(*Event) error
	Recv() (*Event, error)
	grpc.ClientStream
}

type Events_ChatServer

type Events_ChatServer interface {
	Send(*Event) error
	Recv() (*Event, error)
	grpc.ServerStream
}

type ExecuteQueryState

type ExecuteQueryState struct {
	Query string `protobuf:"bytes,1,opt,name=query" json:"query,omitempty"`
}

func (*ExecuteQueryState) Descriptor

func (*ExecuteQueryState) Descriptor() ([]byte, []int)

func (*ExecuteQueryState) ProtoMessage

func (*ExecuteQueryState) ProtoMessage()

func (*ExecuteQueryState) Reset

func (m *ExecuteQueryState) Reset()

func (*ExecuteQueryState) String

func (m *ExecuteQueryState) String() string

type Interest

type Interest struct {
	EventType EventType `protobuf:"varint,1,opt,name=eventType,enum=protos.EventType" json:"eventType,omitempty"`
	// Ideally we should just have the following oneof for different
	// Reg types and get rid of EventType. But this is an API change
	// Additional Reg types may add messages specific to their type
	// to the oneof.
	//
	// Types that are valid to be assigned to RegInfo:
	//	*Interest_ChaincodeRegInfo
	RegInfo isInterest_RegInfo `protobuf_oneof:"RegInfo"`
}

func (*Interest) Descriptor

func (*Interest) Descriptor() ([]byte, []int)

func (*Interest) GetChaincodeRegInfo

func (m *Interest) GetChaincodeRegInfo() *ChaincodeReg

func (*Interest) GetRegInfo

func (m *Interest) GetRegInfo() isInterest_RegInfo

func (*Interest) ProtoMessage

func (*Interest) ProtoMessage()

func (*Interest) Reset

func (m *Interest) Reset()

func (*Interest) String

func (m *Interest) String() string

func (*Interest) XXX_OneofFuncs

func (*Interest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type Interest_ChaincodeRegInfo

type Interest_ChaincodeRegInfo struct {
	ChaincodeRegInfo *ChaincodeReg `protobuf:"bytes,2,opt,name=chaincodeRegInfo,oneof"`
}

type InvalidTransaction

type InvalidTransaction struct {
	Transaction *Transaction             `protobuf:"bytes,1,opt,name=transaction" json:"transaction,omitempty"`
	Cause       InvalidTransaction_Cause `protobuf:"varint,2,opt,name=cause,enum=protos.InvalidTransaction_Cause" json:"cause,omitempty"`
}

This is used to wrap an invalid Transaction with the cause

func (*InvalidTransaction) Descriptor

func (*InvalidTransaction) Descriptor() ([]byte, []int)

func (*InvalidTransaction) GetTransaction

func (m *InvalidTransaction) GetTransaction() *Transaction

func (*InvalidTransaction) ProtoMessage

func (*InvalidTransaction) ProtoMessage()

func (*InvalidTransaction) Reset

func (m *InvalidTransaction) Reset()

func (*InvalidTransaction) String

func (m *InvalidTransaction) String() string

type InvalidTransaction_Cause

type InvalidTransaction_Cause int32
const (
	InvalidTransaction_TxIdAlreadyExists      InvalidTransaction_Cause = 0
	InvalidTransaction_RWConflictDuringCommit InvalidTransaction_Cause = 1
)

func (InvalidTransaction_Cause) EnumDescriptor

func (InvalidTransaction_Cause) EnumDescriptor() ([]byte, []int)

func (InvalidTransaction_Cause) String

func (x InvalidTransaction_Cause) String() string

type LogLevelRequest

type LogLevelRequest struct {
	LogModule string `protobuf:"bytes,1,opt,name=logModule" json:"logModule,omitempty"`
	LogLevel  string `protobuf:"bytes,2,opt,name=logLevel" json:"logLevel,omitempty"`
}

func (*LogLevelRequest) Descriptor

func (*LogLevelRequest) Descriptor() ([]byte, []int)

func (*LogLevelRequest) ProtoMessage

func (*LogLevelRequest) ProtoMessage()

func (*LogLevelRequest) Reset

func (m *LogLevelRequest) Reset()

func (*LogLevelRequest) String

func (m *LogLevelRequest) String() string

type LogLevelResponse

type LogLevelResponse struct {
	LogModule string `protobuf:"bytes,1,opt,name=logModule" json:"logModule,omitempty"`
	LogLevel  string `protobuf:"bytes,2,opt,name=logLevel" json:"logLevel,omitempty"`
}

func (*LogLevelResponse) Descriptor

func (*LogLevelResponse) Descriptor() ([]byte, []int)

func (*LogLevelResponse) ProtoMessage

func (*LogLevelResponse) ProtoMessage()

func (*LogLevelResponse) Reset

func (m *LogLevelResponse) Reset()

func (*LogLevelResponse) String

func (m *LogLevelResponse) String() string

type PeerEndpoint

type PeerEndpoint struct {
	ID      *PeerID `protobuf:"bytes,1,opt,name=ID" json:"ID,omitempty"`
	Address string  `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
}

func (*PeerEndpoint) Descriptor

func (*PeerEndpoint) Descriptor() ([]byte, []int)

func (*PeerEndpoint) GetID

func (m *PeerEndpoint) GetID() *PeerID

func (*PeerEndpoint) ProtoMessage

func (*PeerEndpoint) ProtoMessage()

func (*PeerEndpoint) Reset

func (m *PeerEndpoint) Reset()

func (*PeerEndpoint) String

func (m *PeerEndpoint) String() string

type PeerID

type PeerID struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*PeerID) Descriptor

func (*PeerID) Descriptor() ([]byte, []int)

func (*PeerID) ProtoMessage

func (*PeerID) ProtoMessage()

func (*PeerID) Reset

func (m *PeerID) Reset()

func (*PeerID) String

func (m *PeerID) String() string

type Proposal

type Proposal struct {
	// The header of the proposal. It is the bytes of the Header
	Header []byte `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	// The payload of the proposal as defined by the type in the proposal
	// header.
	Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	// Optional extensions to the proposal. Its content depends on the Header's
	// type field.  For the type CHAINCODE, it might be the bytes of a
	// ChaincodeAction message.
	Extension []byte `protobuf:"bytes,3,opt,name=extension,proto3" json:"extension,omitempty"`
}

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.

func (*Proposal) Descriptor

func (*Proposal) Descriptor() ([]byte, []int)

func (*Proposal) ProtoMessage

func (*Proposal) ProtoMessage()

func (*Proposal) Reset

func (m *Proposal) Reset()

func (*Proposal) String

func (m *Proposal) String() string

type ProposalResponse

type ProposalResponse struct {
	// Version indicates message protocol version
	Version int32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
	// Timestamp is the time that the message
	// was created as  defined by the sender
	Timestamp *google_protobuf1.Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// A response message indicating whether the
	// endorsement of the action was successful
	Response *Response `protobuf:"bytes,4,opt,name=response" json:"response,omitempty"`
	// The payload of response. It is the bytes of ProposalResponsePayload
	Payload []byte `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"`
	// The endorsement of the proposal, basically
	// the endorser's signature over the payload
	Endorsement *Endorsement `protobuf:"bytes,6,opt,name=endorsement" json:"endorsement,omitempty"`
}

A ProposalResponse is returned from an endorser to the proposal submitter. The idea is that this message contains the endorser's response to the request of a client to perform an action over a chaincode (or more generically on the ledger); the response might be success/error (conveyed in the Response field) together with a description of the action and a signature over it by that endorser. If a sufficient number of distinct endorsers agree on the same action and produce signature to that effect, a transaction can be generated and sent for ordering.

func (*ProposalResponse) Descriptor

func (*ProposalResponse) Descriptor() ([]byte, []int)

func (*ProposalResponse) GetEndorsement

func (m *ProposalResponse) GetEndorsement() *Endorsement

func (*ProposalResponse) GetResponse

func (m *ProposalResponse) GetResponse() *Response

func (*ProposalResponse) GetTimestamp

func (m *ProposalResponse) GetTimestamp() *google_protobuf1.Timestamp

func (*ProposalResponse) ProtoMessage

func (*ProposalResponse) ProtoMessage()

func (*ProposalResponse) Reset

func (m *ProposalResponse) Reset()

func (*ProposalResponse) String

func (m *ProposalResponse) String() string

type ProposalResponsePayload

type ProposalResponsePayload struct {
	// Hash of the proposal that triggered this response. The hash is used to
	// link a response with its proposal, both for bookeeping purposes on an
	// asynchronous system and for security reasons (accountability,
	// non-repudiation). The hash usually covers the entire Proposal message
	// (byte-by-byte). However this implies that the hash can only be verified
	// if the entire proposal message is available when ProposalResponsePayload is
	// included in a transaction or stored in the ledger. For confidentiality
	// reasons, with chaincodes it might be undesirable to store the proposal
	// payload in the ledger.  If the type is CHAINCODE, this is handled by
	// separating the proposal's header and
	// the payload: the header is always hashed in its entirety whereas the
	// payload can either be hashed fully, or only its hash may be hashed, or
	// nothing from the payload can be hashed. The PayloadVisibility field in the
	// Header's extension controls to which extent the proposal payload is
	// "visible" in the sense that was just explained.
	ProposalHash []byte `protobuf:"bytes,1,opt,name=proposalHash,proto3" json:"proposalHash,omitempty"`
	// Extension should be unmarshaled to a type-specific message. The type of
	// the extension in any proposal response depends on the type of the proposal
	// that the client selected when the proposal was initially sent out.  In
	// particular, this information is stored in the type field of a Header.  For
	// chaincode, it's a ChaincodeAction message
	Extension []byte `protobuf:"bytes,2,opt,name=extension,proto3" json:"extension,omitempty"`
}

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.

func (*ProposalResponsePayload) Descriptor

func (*ProposalResponsePayload) Descriptor() ([]byte, []int)

func (*ProposalResponsePayload) ProtoMessage

func (*ProposalResponsePayload) ProtoMessage()

func (*ProposalResponsePayload) Reset

func (m *ProposalResponsePayload) Reset()

func (*ProposalResponsePayload) String

func (m *ProposalResponsePayload) String() string

type PutStateInfo

type PutStateInfo struct {
	Key   string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (*PutStateInfo) Descriptor

func (*PutStateInfo) Descriptor() ([]byte, []int)

func (*PutStateInfo) ProtoMessage

func (*PutStateInfo) ProtoMessage()

func (*PutStateInfo) Reset

func (m *PutStateInfo) Reset()

func (*PutStateInfo) String

func (m *PutStateInfo) String() string

type QueryStateClose

type QueryStateClose struct {
	ID string `protobuf:"bytes,1,opt,name=ID" json:"ID,omitempty"`
}

func (*QueryStateClose) Descriptor

func (*QueryStateClose) Descriptor() ([]byte, []int)

func (*QueryStateClose) ProtoMessage

func (*QueryStateClose) ProtoMessage()

func (*QueryStateClose) Reset

func (m *QueryStateClose) Reset()

func (*QueryStateClose) String

func (m *QueryStateClose) String() string

type QueryStateKeyValue

type QueryStateKeyValue struct {
	Key   string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (*QueryStateKeyValue) Descriptor

func (*QueryStateKeyValue) Descriptor() ([]byte, []int)

func (*QueryStateKeyValue) ProtoMessage

func (*QueryStateKeyValue) ProtoMessage()

func (*QueryStateKeyValue) Reset

func (m *QueryStateKeyValue) Reset()

func (*QueryStateKeyValue) String

func (m *QueryStateKeyValue) String() string

type QueryStateNext

type QueryStateNext struct {
	ID string `protobuf:"bytes,1,opt,name=ID" json:"ID,omitempty"`
}

func (*QueryStateNext) Descriptor

func (*QueryStateNext) Descriptor() ([]byte, []int)

func (*QueryStateNext) ProtoMessage

func (*QueryStateNext) ProtoMessage()

func (*QueryStateNext) Reset

func (m *QueryStateNext) Reset()

func (*QueryStateNext) String

func (m *QueryStateNext) String() string

type QueryStateResponse

type QueryStateResponse struct {
	KeysAndValues []*QueryStateKeyValue `protobuf:"bytes,1,rep,name=keysAndValues" json:"keysAndValues,omitempty"`
	HasMore       bool                  `protobuf:"varint,2,opt,name=hasMore" json:"hasMore,omitempty"`
	ID            string                `protobuf:"bytes,3,opt,name=ID" json:"ID,omitempty"`
}

func (*QueryStateResponse) Descriptor

func (*QueryStateResponse) Descriptor() ([]byte, []int)

func (*QueryStateResponse) GetKeysAndValues

func (m *QueryStateResponse) GetKeysAndValues() []*QueryStateKeyValue

func (*QueryStateResponse) ProtoMessage

func (*QueryStateResponse) ProtoMessage()

func (*QueryStateResponse) Reset

func (m *QueryStateResponse) Reset()

func (*QueryStateResponse) String

func (m *QueryStateResponse) String() string

type RangeQueryState

type RangeQueryState struct {
	StartKey string `protobuf:"bytes,1,opt,name=startKey" json:"startKey,omitempty"`
	EndKey   string `protobuf:"bytes,2,opt,name=endKey" json:"endKey,omitempty"`
}

func (*RangeQueryState) Descriptor

func (*RangeQueryState) Descriptor() ([]byte, []int)

func (*RangeQueryState) ProtoMessage

func (*RangeQueryState) ProtoMessage()

func (*RangeQueryState) Reset

func (m *RangeQueryState) Reset()

func (*RangeQueryState) String

func (m *RangeQueryState) String() string

type Register

type Register struct {
	Events []*Interest `protobuf:"bytes,1,rep,name=events" json:"events,omitempty"`
}

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

func (*Register) Descriptor

func (*Register) Descriptor() ([]byte, []int)

func (*Register) GetEvents

func (m *Register) GetEvents() []*Interest

func (*Register) ProtoMessage

func (*Register) ProtoMessage()

func (*Register) Reset

func (m *Register) Reset()

func (*Register) String

func (m *Register) String() string

type Rejection

type Rejection struct {
	Tx       *Transaction `protobuf:"bytes,1,opt,name=tx" json:"tx,omitempty"`
	ErrorMsg string       `protobuf:"bytes,2,opt,name=errorMsg" json:"errorMsg,omitempty"`
}

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

func (*Rejection) Descriptor

func (*Rejection) Descriptor() ([]byte, []int)

func (*Rejection) GetTx

func (m *Rejection) GetTx() *Transaction

func (*Rejection) ProtoMessage

func (*Rejection) ProtoMessage()

func (*Rejection) Reset

func (m *Rejection) Reset()

func (*Rejection) String

func (m *Rejection) String() string

type Response

type Response struct {
	// A status code that should follow the HTTP status codes.
	Status int32 `protobuf:"varint,1,opt,name=status" json:"status,omitempty"`
	// A message associated with the response code.
	Message string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	// A payload that can be used to include metadata with this response.
	Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`
}

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

func (*Response) Descriptor

func (*Response) Descriptor() ([]byte, []int)

func (*Response) ProtoMessage

func (*Response) ProtoMessage()

func (*Response) Reset

func (m *Response) Reset()

func (*Response) String

func (m *Response) String() string

type ServerStatus

type ServerStatus struct {
	Status ServerStatus_StatusCode `protobuf:"varint,1,opt,name=status,enum=protos.ServerStatus_StatusCode" json:"status,omitempty"`
}

func (*ServerStatus) Descriptor

func (*ServerStatus) Descriptor() ([]byte, []int)

func (*ServerStatus) ProtoMessage

func (*ServerStatus) ProtoMessage()

func (*ServerStatus) Reset

func (m *ServerStatus) Reset()

func (*ServerStatus) String

func (m *ServerStatus) String() string

type ServerStatus_StatusCode

type ServerStatus_StatusCode int32
const (
	ServerStatus_UNDEFINED ServerStatus_StatusCode = 0
	ServerStatus_STARTED   ServerStatus_StatusCode = 1
	ServerStatus_STOPPED   ServerStatus_StatusCode = 2
	ServerStatus_PAUSED    ServerStatus_StatusCode = 3
	ServerStatus_ERROR     ServerStatus_StatusCode = 4
	ServerStatus_UNKNOWN   ServerStatus_StatusCode = 5
)

func (ServerStatus_StatusCode) EnumDescriptor

func (ServerStatus_StatusCode) EnumDescriptor() ([]byte, []int)

func (ServerStatus_StatusCode) String

func (x ServerStatus_StatusCode) String() string

type SignedProposal

type SignedProposal struct {
	// The bytes of Proposal
	ProposalBytes []byte `protobuf:"bytes,1,opt,name=proposalBytes,proto3" json:"proposalBytes,omitempty"`
	// Signaure over proposalBytes; this signature is to be verified against
	// the creator identity contained in the header of the Proposal message
	// marshaled as proposalBytes
	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
}

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;

func (*SignedProposal) Descriptor

func (*SignedProposal) Descriptor() ([]byte, []int)

func (*SignedProposal) ProtoMessage

func (*SignedProposal) ProtoMessage()

func (*SignedProposal) Reset

func (m *SignedProposal) Reset()

func (*SignedProposal) String

func (m *SignedProposal) String() string

type SignedTransaction

type SignedTransaction struct {
	// The bytes of the Transaction. NDD
	TransactionBytes []byte `protobuf:"bytes,1,opt,name=transactionBytes,proto3" json:"transactionBytes,omitempty"`
	// Signature of the transactionBytes The public key of the signature is in
	// the header field of TransactionAction There might be multiple
	// TransactionAction, so multiple headers, but there should be same
	// transactor identity (cert) in all headers
	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
}

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

func (*SignedTransaction) Descriptor

func (*SignedTransaction) Descriptor() ([]byte, []int)

func (*SignedTransaction) ProtoMessage

func (*SignedTransaction) ProtoMessage()

func (*SignedTransaction) Reset

func (m *SignedTransaction) Reset()

func (*SignedTransaction) String

func (m *SignedTransaction) String() string

type Transaction

type Transaction struct {
	// Version indicates message protocol version.
	Version int32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
	// Timestamp is the local time that the
	// message was created by the sender
	Timestamp *google_protobuf1.Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// The payload is an array of TransactionAction. An array is necessary to
	// accommodate multiple actions per transaction
	Actions []*TransactionAction `protobuf:"bytes,3,rep,name=actions" json:"actions,omitempty"`
}

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.

func (*Transaction) Descriptor

func (*Transaction) Descriptor() ([]byte, []int)

func (*Transaction) GetActions

func (m *Transaction) GetActions() []*TransactionAction

func (*Transaction) GetTimestamp

func (m *Transaction) GetTimestamp() *google_protobuf1.Timestamp

func (*Transaction) ProtoMessage

func (*Transaction) ProtoMessage()

func (*Transaction) Reset

func (m *Transaction) Reset()

func (*Transaction) String

func (m *Transaction) String() string

type TransactionAction

type TransactionAction struct {
	// The header of the proposal action, which is the proposal header
	Header []byte `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	// The payload of the action as defined by the type in the header For
	// chaincode, it's the bytes of ChaincodeActionPayload
	Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
}

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

func (*TransactionAction) Descriptor

func (*TransactionAction) Descriptor() ([]byte, []int)

func (*TransactionAction) ProtoMessage

func (*TransactionAction) ProtoMessage()

func (*TransactionAction) Reset

func (m *TransactionAction) Reset()

func (*TransactionAction) String

func (m *TransactionAction) String() string

type Unregister

type Unregister struct {
	Events []*Interest `protobuf:"bytes,1,rep,name=events" json:"events,omitempty"`
}

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

func (*Unregister) Descriptor

func (*Unregister) Descriptor() ([]byte, []int)

func (*Unregister) GetEvents

func (m *Unregister) GetEvents() []*Interest

func (*Unregister) ProtoMessage

func (*Unregister) ProtoMessage()

func (*Unregister) Reset

func (m *Unregister) Reset()

func (*Unregister) String

func (m *Unregister) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL