Documentation ¶
Overview ¶
Package common is a generated protocol buffer package.
It is generated from these files:
common/collection.proto common/common.proto common/configtx.proto common/configuration.proto common/ledger.proto common/policies.proto
It has these top-level messages:
CollectionConfigPackage CollectionConfig StaticCollectionConfig CollectionPolicyConfig CollectionCriteria LastConfig Metadata MetadataSignature Header ChannelHeader SignatureHeader Payload Envelope Block BlockHeader BlockData BlockMetadata ConfigEnvelope ConfigGroupSchema ConfigValueSchema ConfigPolicySchema Config ConfigUpdateEnvelope ConfigUpdate ConfigGroup ConfigValue ConfigPolicy ConfigSignature HashingAlgorithm BlockDataHashingStructure OrdererAddresses Consortium Capabilities Capability BlockchainInfo Policy SignaturePolicyEnvelope SignaturePolicy ImplicitMetaPolicy
Index ¶
- Variables
- type Block
- type BlockData
- func (b *BlockData) Bytes() []byte
- func (*BlockData) Descriptor() ([]byte, []int)
- func (m *BlockData) GetData() [][]byte
- func (b *BlockData) Hash() []byte
- func (*BlockData) ProtoMessage()
- func (m *BlockData) Reset()
- func (bd *BlockData) StaticallyOpaqueSliceFieldProto(fieldName string, index int) (proto.Message, error)
- func (bd *BlockData) StaticallyOpaqueSliceFields() []string
- func (m *BlockData) String() string
- type BlockDataHashingStructure
- type BlockHeader
- func (b *BlockHeader) Bytes() []byte
- func (*BlockHeader) Descriptor() ([]byte, []int)
- func (m *BlockHeader) GetDataHash() []byte
- func (m *BlockHeader) GetNumber() uint64
- func (m *BlockHeader) GetPreviousHash() []byte
- func (b *BlockHeader) Hash() []byte
- func (*BlockHeader) ProtoMessage()
- func (m *BlockHeader) Reset()
- func (m *BlockHeader) String() string
- type BlockMetadata
- type BlockMetadataIndex
- type BlockchainInfo
- func (*BlockchainInfo) Descriptor() ([]byte, []int)
- func (m *BlockchainInfo) GetCurrentBlockHash() []byte
- func (m *BlockchainInfo) GetHeight() uint64
- func (m *BlockchainInfo) GetPreviousBlockHash() []byte
- func (*BlockchainInfo) ProtoMessage()
- func (m *BlockchainInfo) Reset()
- func (m *BlockchainInfo) String() string
- type Capabilities
- type Capability
- type ChannelHeader
- func (*ChannelHeader) Descriptor() ([]byte, []int)
- func (m *ChannelHeader) GetChannelId() string
- func (m *ChannelHeader) GetEpoch() uint64
- func (m *ChannelHeader) GetExtension() []byte
- func (m *ChannelHeader) GetTimestamp() *google_protobuf.Timestamp
- func (m *ChannelHeader) GetTxId() string
- func (m *ChannelHeader) GetType() int32
- func (m *ChannelHeader) GetVersion() int32
- func (*ChannelHeader) ProtoMessage()
- func (m *ChannelHeader) Reset()
- func (m *ChannelHeader) String() string
- type CollectionConfig
- func (*CollectionConfig) Descriptor() ([]byte, []int)
- func (m *CollectionConfig) GetPayload() isCollectionConfig_Payload
- func (m *CollectionConfig) GetStaticCollectionConfig() *StaticCollectionConfig
- func (*CollectionConfig) ProtoMessage()
- func (m *CollectionConfig) Reset()
- func (m *CollectionConfig) String() string
- func (*CollectionConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type CollectionConfigPackage
- type CollectionConfig_StaticCollectionConfig
- type CollectionCriteria
- func (*CollectionCriteria) Descriptor() ([]byte, []int)
- func (m *CollectionCriteria) GetChannel() string
- func (m *CollectionCriteria) GetCollection() string
- func (m *CollectionCriteria) GetNamespace() string
- func (m *CollectionCriteria) GetTxId() string
- func (*CollectionCriteria) ProtoMessage()
- func (m *CollectionCriteria) Reset()
- func (m *CollectionCriteria) String() string
- type CollectionPolicyConfig
- func (*CollectionPolicyConfig) Descriptor() ([]byte, []int)
- func (m *CollectionPolicyConfig) GetPayload() isCollectionPolicyConfig_Payload
- func (m *CollectionPolicyConfig) GetSignaturePolicy() *SignaturePolicyEnvelope
- func (*CollectionPolicyConfig) ProtoMessage()
- func (m *CollectionPolicyConfig) Reset()
- func (m *CollectionPolicyConfig) String() string
- func (*CollectionPolicyConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type CollectionPolicyConfig_SignaturePolicy
- type Config
- func (*Config) Descriptor() ([]byte, []int)
- func (c *Config) DynamicFieldProto(name string, base proto.Message) (proto.Message, error)
- func (c *Config) DynamicFields() []string
- func (m *Config) GetChannelGroup() *ConfigGroup
- func (m *Config) GetSequence() uint64
- func (m *Config) GetType() int32
- func (*Config) ProtoMessage()
- func (m *Config) Reset()
- func (m *Config) String() string
- type ConfigEnvelope
- type ConfigGroup
- func (*ConfigGroup) Descriptor() ([]byte, []int)
- func (cg *ConfigGroup) DynamicMapFields() []string
- func (m *ConfigGroup) GetGroups() map[string]*ConfigGroup
- func (m *ConfigGroup) GetModPolicy() string
- func (m *ConfigGroup) GetPolicies() map[string]*ConfigPolicy
- func (m *ConfigGroup) GetValues() map[string]*ConfigValue
- func (m *ConfigGroup) GetVersion() uint64
- func (*ConfigGroup) ProtoMessage()
- func (m *ConfigGroup) Reset()
- func (m *ConfigGroup) String() string
- func (cg *ConfigGroup) Underlying() proto.Message
- type ConfigGroupSchema
- func (*ConfigGroupSchema) Descriptor() ([]byte, []int)
- func (m *ConfigGroupSchema) GetGroups() map[string]*ConfigGroupSchema
- func (m *ConfigGroupSchema) GetPolicies() map[string]*ConfigPolicySchema
- func (m *ConfigGroupSchema) GetValues() map[string]*ConfigValueSchema
- func (*ConfigGroupSchema) ProtoMessage()
- func (m *ConfigGroupSchema) Reset()
- func (m *ConfigGroupSchema) String() string
- type ConfigPolicy
- type ConfigPolicySchema
- type ConfigSignature
- func (*ConfigSignature) Descriptor() ([]byte, []int)
- func (m *ConfigSignature) GetSignature() []byte
- func (m *ConfigSignature) GetSignatureHeader() []byte
- func (*ConfigSignature) ProtoMessage()
- func (m *ConfigSignature) Reset()
- func (cs *ConfigSignature) StaticallyOpaqueFieldProto(name string) (proto.Message, error)
- func (cs *ConfigSignature) StaticallyOpaqueFields() []string
- func (m *ConfigSignature) String() string
- type ConfigType
- type ConfigUpdate
- func (*ConfigUpdate) Descriptor() ([]byte, []int)
- func (c *ConfigUpdate) DynamicFieldProto(name string, base proto.Message) (proto.Message, error)
- func (c *ConfigUpdate) DynamicFields() []string
- func (m *ConfigUpdate) GetChannelId() string
- func (m *ConfigUpdate) GetIsolatedData() map[string][]byte
- func (m *ConfigUpdate) GetReadSet() *ConfigGroup
- func (m *ConfigUpdate) GetType() int32
- func (m *ConfigUpdate) GetWriteSet() *ConfigGroup
- func (*ConfigUpdate) ProtoMessage()
- func (m *ConfigUpdate) Reset()
- func (c *ConfigUpdate) StaticallyOpaqueMapFieldProto(name string, key string) (proto.Message, error)
- func (c *ConfigUpdate) StaticallyOpaqueMapFields() []string
- func (m *ConfigUpdate) String() string
- type ConfigUpdateEnvelope
- func (ce *ConfigUpdateEnvelope) AsSignedData() ([]*SignedData, error)
- func (*ConfigUpdateEnvelope) Descriptor() ([]byte, []int)
- func (m *ConfigUpdateEnvelope) GetConfigUpdate() []byte
- func (m *ConfigUpdateEnvelope) GetSignatures() []*ConfigSignature
- func (*ConfigUpdateEnvelope) ProtoMessage()
- func (m *ConfigUpdateEnvelope) Reset()
- func (cue *ConfigUpdateEnvelope) StaticallyOpaqueFieldProto(name string) (proto.Message, error)
- func (cue *ConfigUpdateEnvelope) StaticallyOpaqueFields() []string
- func (m *ConfigUpdateEnvelope) String() string
- type ConfigValue
- func (*ConfigValue) Descriptor() ([]byte, []int)
- func (m *ConfigValue) GetModPolicy() string
- func (m *ConfigValue) GetValue() []byte
- func (m *ConfigValue) GetVersion() uint64
- func (*ConfigValue) ProtoMessage()
- func (m *ConfigValue) Reset()
- func (m *ConfigValue) String() string
- func (cv *ConfigValue) Underlying() proto.Message
- func (cv *ConfigValue) VariablyOpaqueFields() []string
- type ConfigValueSchema
- type Consortium
- type DynamicChannelConfigValue
- type DynamicChannelGroup
- type DynamicConfigGroupFactory
- type DynamicConsortiumConfigValue
- type DynamicConsortiumGroup
- type DynamicConsortiumOrgConfigValue
- type DynamicConsortiumOrgGroup
- type DynamicConsortiumsGroup
- type DynamicConsortiumsGroupFactory
- type Envelope
- func (env *Envelope) AsSignedData() ([]*SignedData, error)
- func (*Envelope) Descriptor() ([]byte, []int)
- func (m *Envelope) GetPayload() []byte
- func (m *Envelope) GetSignature() []byte
- func (*Envelope) ProtoMessage()
- func (m *Envelope) Reset()
- func (e *Envelope) StaticallyOpaqueFieldProto(name string) (proto.Message, error)
- func (e *Envelope) StaticallyOpaqueFields() []string
- func (m *Envelope) String() string
- type HashingAlgorithm
- type Header
- func (*Header) Descriptor() ([]byte, []int)
- func (m *Header) GetChannelHeader() []byte
- func (m *Header) GetSignatureHeader() []byte
- func (*Header) ProtoMessage()
- func (m *Header) Reset()
- func (h *Header) StaticallyOpaqueFieldProto(name string) (proto.Message, error)
- func (h *Header) StaticallyOpaqueFields() []string
- func (m *Header) String() string
- type HeaderType
- type ImplicitMetaPolicy
- type ImplicitMetaPolicy_Rule
- type LastConfig
- type Metadata
- type MetadataSignature
- type OrdererAddresses
- type Payload
- func (*Payload) Descriptor() ([]byte, []int)
- func (m *Payload) GetData() []byte
- func (m *Payload) GetHeader() *Header
- func (*Payload) ProtoMessage()
- func (m *Payload) Reset()
- func (m *Payload) String() string
- func (p *Payload) VariablyOpaqueFieldProto(name string) (proto.Message, error)
- func (p *Payload) VariablyOpaqueFields() []string
- type Policy
- func (*Policy) Descriptor() ([]byte, []int)
- func (m *Policy) GetType() int32
- func (m *Policy) GetValue() []byte
- func (*Policy) ProtoMessage()
- func (m *Policy) Reset()
- func (m *Policy) String() string
- func (p *Policy) VariablyOpaqueFieldProto(name string) (proto.Message, error)
- func (p *Policy) VariablyOpaqueFields() []string
- type Policy_PolicyType
- type Signable
- type SignatureHeader
- func (*SignatureHeader) Descriptor() ([]byte, []int)
- func (m *SignatureHeader) GetCreator() []byte
- func (m *SignatureHeader) GetNonce() []byte
- func (*SignatureHeader) ProtoMessage()
- func (m *SignatureHeader) Reset()
- func (sh *SignatureHeader) StaticallyOpaqueFieldProto(name string) (proto.Message, error)
- func (sh *SignatureHeader) StaticallyOpaqueFields() []string
- func (m *SignatureHeader) String() string
- type SignaturePolicy
- func (*SignaturePolicy) Descriptor() ([]byte, []int)
- func (m *SignaturePolicy) GetNOutOf() *SignaturePolicy_NOutOf
- func (m *SignaturePolicy) GetSignedBy() int32
- func (m *SignaturePolicy) GetType() isSignaturePolicy_Type
- func (*SignaturePolicy) ProtoMessage()
- func (m *SignaturePolicy) Reset()
- func (m *SignaturePolicy) String() string
- func (*SignaturePolicy) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type SignaturePolicyEnvelope
- func (*SignaturePolicyEnvelope) Descriptor() ([]byte, []int)
- func (m *SignaturePolicyEnvelope) GetIdentities() []*common1.MSPPrincipal
- func (m *SignaturePolicyEnvelope) GetRule() *SignaturePolicy
- func (m *SignaturePolicyEnvelope) GetVersion() int32
- func (*SignaturePolicyEnvelope) ProtoMessage()
- func (m *SignaturePolicyEnvelope) Reset()
- func (m *SignaturePolicyEnvelope) String() string
- type SignaturePolicy_NOutOf
- func (*SignaturePolicy_NOutOf) Descriptor() ([]byte, []int)
- func (m *SignaturePolicy_NOutOf) GetN() int32
- func (m *SignaturePolicy_NOutOf) GetRules() []*SignaturePolicy
- func (*SignaturePolicy_NOutOf) ProtoMessage()
- func (m *SignaturePolicy_NOutOf) Reset()
- func (m *SignaturePolicy_NOutOf) String() string
- type SignaturePolicy_NOutOf_
- type SignaturePolicy_SignedBy
- type SignedData
- type StaticCollectionConfig
- func (*StaticCollectionConfig) Descriptor() ([]byte, []int)
- func (m *StaticCollectionConfig) GetMemberOrgsPolicy() *CollectionPolicyConfig
- func (m *StaticCollectionConfig) GetName() string
- func (m *StaticCollectionConfig) GetRequiredExternalPeerCount() int32
- func (m *StaticCollectionConfig) GetRequiredInternalPeerCount() int32
- func (*StaticCollectionConfig) ProtoMessage()
- func (m *StaticCollectionConfig) Reset()
- func (m *StaticCollectionConfig) String() string
- type Status
Constants ¶
This section is empty.
Variables ¶
var BlockMetadataIndex_name = map[int32]string{
0: "SIGNATURES",
1: "LAST_CONFIG",
2: "TRANSACTIONS_FILTER",
3: "ORDERER",
}
var BlockMetadataIndex_value = map[string]int32{
"SIGNATURES": 0,
"LAST_CONFIG": 1,
"TRANSACTIONS_FILTER": 2,
"ORDERER": 3,
}
var ChannelGroupMap = map[string]DynamicConfigGroupFactory{ "Consortiums": DynamicConsortiumsGroupFactory{}, }
ChannelGroupMap is a slightly hacky way to break the dependency cycle which would be created if the protos/common package imported the protos/orderer or protos/peer packages. These packages instead register a DynamicConfigGroupFactory with the ChannelGroupMap when they are loaded, creating a runtime linkage between the two
var ConfigType_name = map[int32]string{
0: "CHANNEL",
1: "RESOURCE",
}
var ConfigType_value = map[string]int32{
"CHANNEL": 0,
"RESOURCE": 1,
}
var ConfigUpdateIsolatedDataTypes = map[string]func(string) proto.Message{}
ConfigUpdateIsolatedDataTypes allows other proto packages to register types for the the isolated_data field. This is necessary to break import cycles.
var DynamicConfigTypes = map[ConfigType]func(cg *ConfigGroup) proto.Message{ ConfigType_CHANNEL: func(cg *ConfigGroup) proto.Message { return &DynamicChannelGroup{ ConfigGroup: cg, } }, }
DynamicConfigTypes allows for other packages outside of the common package to register dynamic config types
var HeaderType_name = map[int32]string{
0: "MESSAGE",
1: "CONFIG",
2: "CONFIG_UPDATE",
3: "ENDORSER_TRANSACTION",
4: "ORDERER_TRANSACTION",
5: "DELIVER_SEEK_INFO",
6: "CHAINCODE_PACKAGE",
}
var HeaderType_value = map[string]int32{
"MESSAGE": 0,
"CONFIG": 1,
"CONFIG_UPDATE": 2,
"ENDORSER_TRANSACTION": 3,
"ORDERER_TRANSACTION": 4,
"DELIVER_SEEK_INFO": 5,
"CHAINCODE_PACKAGE": 6,
}
var ImplicitMetaPolicy_Rule_name = map[int32]string{
0: "ANY",
1: "ALL",
2: "MAJORITY",
}
var ImplicitMetaPolicy_Rule_value = map[string]int32{
"ANY": 0,
"ALL": 1,
"MAJORITY": 2,
}
var PayloadDataMap = map[int32]proto.Message{ int32(HeaderType_CONFIG): &ConfigEnvelope{}, int32(HeaderType_CONFIG_UPDATE): &ConfigUpdateEnvelope{}, int32(HeaderType_MESSAGE): &ConfigValue{}, }
var Policy_PolicyType_name = map[int32]string{
0: "UNKNOWN",
1: "SIGNATURE",
2: "MSP",
3: "IMPLICIT_META",
}
var Policy_PolicyType_value = map[string]int32{
"UNKNOWN": 0,
"SIGNATURE": 1,
"MSP": 2,
"IMPLICIT_META": 3,
}
var Status_name = map[int32]string{
0: "UNKNOWN",
200: "SUCCESS",
400: "BAD_REQUEST",
403: "FORBIDDEN",
404: "NOT_FOUND",
413: "REQUEST_ENTITY_TOO_LARGE",
500: "INTERNAL_SERVER_ERROR",
503: "SERVICE_UNAVAILABLE",
}
var Status_value = map[string]int32{
"UNKNOWN": 0,
"SUCCESS": 200,
"BAD_REQUEST": 400,
"FORBIDDEN": 403,
"NOT_FOUND": 404,
"REQUEST_ENTITY_TOO_LARGE": 413,
"INTERNAL_SERVER_ERROR": 500,
"SERVICE_UNAVAILABLE": 503,
}
Functions ¶
This section is empty.
Types ¶
type Block ¶
type Block struct { Header *BlockHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"` Data *BlockData `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"` Metadata *BlockMetadata `protobuf:"bytes,3,opt,name=metadata" json:"metadata,omitempty"` }
This is finalized block structure to be shared among the orderer and peer Note that the BlockHeader chains to the previous BlockHeader, and the BlockData hash is embedded in the BlockHeader. This makes it natural and obvious that the Data is included in the hash, but the Metadata is not.
func (*Block) Descriptor ¶
func (*Block) GetHeader ¶
func (m *Block) GetHeader() *BlockHeader
func (*Block) GetMetadata ¶
func (m *Block) GetMetadata() *BlockMetadata
func (*Block) ProtoMessage ¶
func (*Block) ProtoMessage()
type BlockData ¶
type BlockData struct {
Data [][]byte `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
}
func (*BlockData) Bytes ¶
Bytes returns a deterministically serialized version of the BlockData eventually, this should be replaced with a true Merkle tree construction, but for the moment, we assume a Merkle tree of infinite width (uint32_max) which degrades to a flat hash
func (*BlockData) Descriptor ¶
func (*BlockData) ProtoMessage ¶
func (*BlockData) ProtoMessage()
func (*BlockData) StaticallyOpaqueSliceFieldProto ¶
func (*BlockData) StaticallyOpaqueSliceFields ¶
type BlockDataHashingStructure ¶
type BlockDataHashingStructure struct { // width specifies the width of the Merkle tree to use when computing the BlockDataHash // in order to replicate flat hashing, set this width to MAX_UINT32 Width uint32 `protobuf:"varint,1,opt,name=width" json:"width,omitempty"` }
BlockDataHashingStructure is encoded into the configuration transaction as a configuration item of type Chain with a Key of "BlockDataHashingStructure" and a Value of HashingAlgorithm as marshaled protobuf bytes
func (*BlockDataHashingStructure) Descriptor ¶
func (*BlockDataHashingStructure) Descriptor() ([]byte, []int)
func (*BlockDataHashingStructure) GetWidth ¶
func (m *BlockDataHashingStructure) GetWidth() uint32
func (*BlockDataHashingStructure) ProtoMessage ¶
func (*BlockDataHashingStructure) ProtoMessage()
func (*BlockDataHashingStructure) Reset ¶
func (m *BlockDataHashingStructure) Reset()
func (*BlockDataHashingStructure) String ¶
func (m *BlockDataHashingStructure) String() string
type BlockHeader ¶
type BlockHeader struct { Number uint64 `protobuf:"varint,1,opt,name=number" json:"number,omitempty"` PreviousHash []byte `protobuf:"bytes,2,opt,name=previous_hash,json=previousHash,proto3" json:"previous_hash,omitempty"` DataHash []byte `protobuf:"bytes,3,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` }
BlockHeader is the element of the block which forms the block chain The block header is hashed using the configured chain hashing algorithm over the ASN.1 encoding of the BlockHeader
func (*BlockHeader) Bytes ¶
func (b *BlockHeader) Bytes() []byte
Bytes returns the ASN.1 marshaled representation of the block header.
func (*BlockHeader) Descriptor ¶
func (*BlockHeader) Descriptor() ([]byte, []int)
func (*BlockHeader) GetDataHash ¶
func (m *BlockHeader) GetDataHash() []byte
func (*BlockHeader) GetNumber ¶
func (m *BlockHeader) GetNumber() uint64
func (*BlockHeader) GetPreviousHash ¶
func (m *BlockHeader) GetPreviousHash() []byte
func (*BlockHeader) Hash ¶
func (b *BlockHeader) Hash() []byte
Hash returns the hash of the block header. XXX This method will be removed shortly to allow for confgurable hashing algorithms
func (*BlockHeader) ProtoMessage ¶
func (*BlockHeader) ProtoMessage()
func (*BlockHeader) Reset ¶
func (m *BlockHeader) Reset()
func (*BlockHeader) String ¶
func (m *BlockHeader) String() string
type BlockMetadata ¶
type BlockMetadata struct {
Metadata [][]byte `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata,omitempty"`
}
func (*BlockMetadata) Descriptor ¶
func (*BlockMetadata) Descriptor() ([]byte, []int)
func (*BlockMetadata) GetMetadata ¶
func (m *BlockMetadata) GetMetadata() [][]byte
func (*BlockMetadata) ProtoMessage ¶
func (*BlockMetadata) ProtoMessage()
func (*BlockMetadata) Reset ¶
func (m *BlockMetadata) Reset()
func (*BlockMetadata) String ¶
func (m *BlockMetadata) String() string
type BlockMetadataIndex ¶
type BlockMetadataIndex int32
This enum enlists indexes of the block metadata array
const ( BlockMetadataIndex_SIGNATURES BlockMetadataIndex = 0 BlockMetadataIndex_LAST_CONFIG BlockMetadataIndex = 1 BlockMetadataIndex_TRANSACTIONS_FILTER BlockMetadataIndex = 2 BlockMetadataIndex_ORDERER BlockMetadataIndex = 3 )
func (BlockMetadataIndex) EnumDescriptor ¶
func (BlockMetadataIndex) EnumDescriptor() ([]byte, []int)
func (BlockMetadataIndex) String ¶
func (x BlockMetadataIndex) 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) GetCurrentBlockHash ¶
func (m *BlockchainInfo) GetCurrentBlockHash() []byte
func (*BlockchainInfo) GetHeight ¶
func (m *BlockchainInfo) GetHeight() uint64
func (*BlockchainInfo) GetPreviousBlockHash ¶
func (m *BlockchainInfo) GetPreviousBlockHash() []byte
func (*BlockchainInfo) ProtoMessage ¶
func (*BlockchainInfo) ProtoMessage()
func (*BlockchainInfo) Reset ¶
func (m *BlockchainInfo) Reset()
func (*BlockchainInfo) String ¶
func (m *BlockchainInfo) String() string
type Capabilities ¶
type Capabilities struct {
Capabilities map[string]*Capability `` /* 144-byte string literal not displayed */
}
Capabilities message defines the capabilities a particular binary must implement for that binary to be able to safely participate in the channel. The capabilities message is defined at the /Channel level, the /Channel/Application level, and the /Channel/Orderer level.
The /Channel level capabilties define capabilities which both the orderer and peer binaries must satisfy. These capabilties might be things like a new MSP type, or a new policy type.
The /Channel/Orderer level capabilties define capabilities which must be supported by the orderer, but which have no bearing on the behavior of the peer. For instance if the orderer changes the logic for how it constructs new channels, only all orderers must agree on the new logic. The peers do not need to be aware of this change as they only interact with the channel after it has been constructed.
Finally, the /Channel/Application level capabilities define capabilities which the peer binary must satisfy, but which have no bearing on the orderer. For instance, if the peer adds a new UTXO transaction type, or changes the chaincode lifecycle requirements, all peers must agree on the new logic. However, orderers never inspect transactions this deeply, and therefore have no need to be aware of the change.
The capabilities strings defined in these messages typically correspond to release binary versions (e.g. "V1.1"), and are used primarilly as a mechanism for a fully upgraded network to switch from one set of logic to a new one.
Although for V1.1, the orderers must be upgraded to V1.1 prior to the rest of the network, going forward, because of the split between the /Channel, /Channel/Orderer and /Channel/Application capabilities. It should be possible for the orderer and application networks to upgrade themselves independently (with the exception of any new capabilities defined at the /Channel level).
func (*Capabilities) Descriptor ¶
func (*Capabilities) Descriptor() ([]byte, []int)
func (*Capabilities) GetCapabilities ¶
func (m *Capabilities) GetCapabilities() map[string]*Capability
func (*Capabilities) ProtoMessage ¶
func (*Capabilities) ProtoMessage()
func (*Capabilities) Reset ¶
func (m *Capabilities) Reset()
func (*Capabilities) String ¶
func (m *Capabilities) String() string
type Capability ¶
type Capability struct { }
Capability is an empty message for the time being. It is defined as a protobuf message rather than a constant, so that we may extend capabilities with other fields if the need arises in the future. For the time being, a capability being in the capabilities map requires that that capability be supported.
func (*Capability) Descriptor ¶
func (*Capability) Descriptor() ([]byte, []int)
func (*Capability) ProtoMessage ¶
func (*Capability) ProtoMessage()
func (*Capability) Reset ¶
func (m *Capability) Reset()
func (*Capability) String ¶
func (m *Capability) String() string
type ChannelHeader ¶
type ChannelHeader struct { Type int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` // Version indicates message protocol version Version int32 `protobuf:"varint,2,opt,name=version" json:"version,omitempty"` // Timestamp is the local time when the message was created // by the sender Timestamp *google_protobuf.Timestamp `protobuf:"bytes,3,opt,name=timestamp" json:"timestamp,omitempty"` // Identifier of the channel this message is bound for ChannelId string `protobuf:"bytes,4,opt,name=channel_id,json=channelId" json:"channel_id,omitempty"` // An unique identifier that is used end-to-end. // - set by higher layers such as end user or SDK // - passed to the endorser (which will check for uniqueness) // - as the header is passed along unchanged, it will be // be retrieved by the committer (uniqueness check here as well) // - to be stored in the ledger TxId string `protobuf:"bytes,5,opt,name=tx_id,json=txId" json:"tx_id,omitempty"` // The epoch in which this header was generated, where epoch is defined based on block height // Epoch in which the response has been generated. This field identifies a // logical window of time. A proposal response is accepted by a peer only if // two conditions hold: // 1. the epoch specified in the message is the current epoch // 2. this message has been only seen once during this epoch (i.e. it hasn't // been replayed) Epoch uint64 `protobuf:"varint,6,opt,name=epoch" json:"epoch,omitempty"` // Extension that may be attached based on the header type Extension []byte `protobuf:"bytes,7,opt,name=extension,proto3" json:"extension,omitempty"` }
Header is a generic replay prevention and identity message to include in a signed payload
func (*ChannelHeader) Descriptor ¶
func (*ChannelHeader) Descriptor() ([]byte, []int)
func (*ChannelHeader) GetChannelId ¶
func (m *ChannelHeader) GetChannelId() string
func (*ChannelHeader) GetEpoch ¶
func (m *ChannelHeader) GetEpoch() uint64
func (*ChannelHeader) GetExtension ¶
func (m *ChannelHeader) GetExtension() []byte
func (*ChannelHeader) GetTimestamp ¶
func (m *ChannelHeader) GetTimestamp() *google_protobuf.Timestamp
func (*ChannelHeader) GetTxId ¶
func (m *ChannelHeader) GetTxId() string
func (*ChannelHeader) GetType ¶
func (m *ChannelHeader) GetType() int32
func (*ChannelHeader) GetVersion ¶
func (m *ChannelHeader) GetVersion() int32
func (*ChannelHeader) ProtoMessage ¶
func (*ChannelHeader) ProtoMessage()
func (*ChannelHeader) Reset ¶
func (m *ChannelHeader) Reset()
func (*ChannelHeader) String ¶
func (m *ChannelHeader) String() string
type CollectionConfig ¶
type CollectionConfig struct { // Types that are valid to be assigned to Payload: // *CollectionConfig_StaticCollectionConfig Payload isCollectionConfig_Payload `protobuf_oneof:"payload"` }
CollectionConfig defines the configuration of a collection object; it currently contains a single, static type. Dynamic collections are deferred.
func (*CollectionConfig) Descriptor ¶
func (*CollectionConfig) Descriptor() ([]byte, []int)
func (*CollectionConfig) GetPayload ¶
func (m *CollectionConfig) GetPayload() isCollectionConfig_Payload
func (*CollectionConfig) GetStaticCollectionConfig ¶
func (m *CollectionConfig) GetStaticCollectionConfig() *StaticCollectionConfig
func (*CollectionConfig) ProtoMessage ¶
func (*CollectionConfig) ProtoMessage()
func (*CollectionConfig) Reset ¶
func (m *CollectionConfig) Reset()
func (*CollectionConfig) String ¶
func (m *CollectionConfig) String() string
func (*CollectionConfig) XXX_OneofFuncs ¶
func (*CollectionConfig) 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 CollectionConfigPackage ¶
type CollectionConfigPackage struct {
Config []*CollectionConfig `protobuf:"bytes,1,rep,name=config" json:"config,omitempty"`
}
CollectionConfigPackage represents an array of CollectionConfig messages; the extra struct is required because repeated oneof is forbidden by the protobuf syntax
func (*CollectionConfigPackage) Descriptor ¶
func (*CollectionConfigPackage) Descriptor() ([]byte, []int)
func (*CollectionConfigPackage) GetConfig ¶
func (m *CollectionConfigPackage) GetConfig() []*CollectionConfig
func (*CollectionConfigPackage) ProtoMessage ¶
func (*CollectionConfigPackage) ProtoMessage()
func (*CollectionConfigPackage) Reset ¶
func (m *CollectionConfigPackage) Reset()
func (*CollectionConfigPackage) String ¶
func (m *CollectionConfigPackage) String() string
type CollectionConfig_StaticCollectionConfig ¶
type CollectionConfig_StaticCollectionConfig struct {
StaticCollectionConfig *StaticCollectionConfig `protobuf:"bytes,1,opt,name=static_collection_config,json=staticCollectionConfig,oneof"`
}
type CollectionCriteria ¶
type CollectionCriteria struct { Channel string `protobuf:"bytes,1,opt,name=channel" json:"channel,omitempty"` TxId string `protobuf:"bytes,2,opt,name=tx_id,json=txId" json:"tx_id,omitempty"` Collection string `protobuf:"bytes,3,opt,name=collection" json:"collection,omitempty"` Namespace string `protobuf:"bytes,4,opt,name=namespace" json:"namespace,omitempty"` }
CollectionCriteria defines an element of a private data that corresponds to a certain transaction and collection
func (*CollectionCriteria) Descriptor ¶
func (*CollectionCriteria) Descriptor() ([]byte, []int)
func (*CollectionCriteria) GetChannel ¶
func (m *CollectionCriteria) GetChannel() string
func (*CollectionCriteria) GetCollection ¶
func (m *CollectionCriteria) GetCollection() string
func (*CollectionCriteria) GetNamespace ¶
func (m *CollectionCriteria) GetNamespace() string
func (*CollectionCriteria) GetTxId ¶
func (m *CollectionCriteria) GetTxId() string
func (*CollectionCriteria) ProtoMessage ¶
func (*CollectionCriteria) ProtoMessage()
func (*CollectionCriteria) Reset ¶
func (m *CollectionCriteria) Reset()
func (*CollectionCriteria) String ¶
func (m *CollectionCriteria) String() string
type CollectionPolicyConfig ¶
type CollectionPolicyConfig struct { // Types that are valid to be assigned to Payload: // *CollectionPolicyConfig_SignaturePolicy Payload isCollectionPolicyConfig_Payload `protobuf_oneof:"payload"` }
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.
func (*CollectionPolicyConfig) Descriptor ¶
func (*CollectionPolicyConfig) Descriptor() ([]byte, []int)
func (*CollectionPolicyConfig) GetPayload ¶
func (m *CollectionPolicyConfig) GetPayload() isCollectionPolicyConfig_Payload
func (*CollectionPolicyConfig) GetSignaturePolicy ¶
func (m *CollectionPolicyConfig) GetSignaturePolicy() *SignaturePolicyEnvelope
func (*CollectionPolicyConfig) ProtoMessage ¶
func (*CollectionPolicyConfig) ProtoMessage()
func (*CollectionPolicyConfig) Reset ¶
func (m *CollectionPolicyConfig) Reset()
func (*CollectionPolicyConfig) String ¶
func (m *CollectionPolicyConfig) String() string
func (*CollectionPolicyConfig) XXX_OneofFuncs ¶
func (*CollectionPolicyConfig) 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 CollectionPolicyConfig_SignaturePolicy ¶
type CollectionPolicyConfig_SignaturePolicy struct {
SignaturePolicy *SignaturePolicyEnvelope `protobuf:"bytes,1,opt,name=signature_policy,json=signaturePolicy,oneof"`
}
type Config ¶
type Config struct { Sequence uint64 `protobuf:"varint,1,opt,name=sequence" json:"sequence,omitempty"` ChannelGroup *ConfigGroup `protobuf:"bytes,2,opt,name=channel_group,json=channelGroup" json:"channel_group,omitempty"` Type int32 `protobuf:"varint,3,opt,name=type" json:"type,omitempty"` }
Config represents the config for a particular channel
func (*Config) Descriptor ¶
func (*Config) DynamicFieldProto ¶
func (*Config) DynamicFields ¶
func (*Config) GetChannelGroup ¶
func (m *Config) GetChannelGroup() *ConfigGroup
func (*Config) GetSequence ¶
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
type ConfigEnvelope ¶
type ConfigEnvelope struct { Config *Config `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` LastUpdate *Envelope `protobuf:"bytes,2,opt,name=last_update,json=lastUpdate" json:"last_update,omitempty"` }
ConfigEnvelope is designed to contain _all_ configuration for a chain with no dependency on previous configuration transactions.
It is generated with the following scheme:
- Retrieve the existing configuration
- Note the config properties (ConfigValue, ConfigPolicy, ConfigGroup) to be modified
- Add any intermediate ConfigGroups to the ConfigUpdate.read_set (sparsely)
- Add any additional desired dependencies to ConfigUpdate.read_set (sparsely)
- Modify the config properties, incrementing each version by 1, set them in the ConfigUpdate.write_set Note: any element not modified but specified should already be in the read_set, so may be specified sparsely
- Create ConfigUpdate message and marshal it into ConfigUpdateEnvelope.update and encode the required signatures a) Each signature is of type ConfigSignature b) The ConfigSignature signature is over the concatenation of signature_header and the ConfigUpdate bytes (which includes a ChainHeader)
- Submit new Config for ordering in Envelope signed by submitter a) The Envelope Payload has data set to the marshaled ConfigEnvelope b) The Envelope Payload has a header of type Header.Type.CONFIG_UPDATE
The configuration manager will verify:
- All items in the read_set exist at the read versions
- All items in the write_set at a different version than, or not in, the read_set have been appropriately signed according to their mod_policy
- The new configuration satisfies the ConfigSchema
func (*ConfigEnvelope) Descriptor ¶
func (*ConfigEnvelope) Descriptor() ([]byte, []int)
func (*ConfigEnvelope) GetConfig ¶
func (m *ConfigEnvelope) GetConfig() *Config
func (*ConfigEnvelope) GetLastUpdate ¶
func (m *ConfigEnvelope) GetLastUpdate() *Envelope
func (*ConfigEnvelope) ProtoMessage ¶
func (*ConfigEnvelope) ProtoMessage()
func (*ConfigEnvelope) Reset ¶
func (m *ConfigEnvelope) Reset()
func (*ConfigEnvelope) String ¶
func (m *ConfigEnvelope) String() string
type ConfigGroup ¶
type ConfigGroup struct { Version uint64 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` Groups map[string]*ConfigGroup `` /* 132-byte string literal not displayed */ Values map[string]*ConfigValue `` /* 132-byte string literal not displayed */ Policies map[string]*ConfigPolicy `` /* 136-byte string literal not displayed */ ModPolicy string `protobuf:"bytes,5,opt,name=mod_policy,json=modPolicy" json:"mod_policy,omitempty"` }
ConfigGroup is the hierarchical data structure for holding config
func NewConfigGroup ¶
func NewConfigGroup() *ConfigGroup
func (*ConfigGroup) Descriptor ¶
func (*ConfigGroup) Descriptor() ([]byte, []int)
func (*ConfigGroup) DynamicMapFields ¶
func (cg *ConfigGroup) DynamicMapFields() []string
func (*ConfigGroup) GetGroups ¶
func (m *ConfigGroup) GetGroups() map[string]*ConfigGroup
func (*ConfigGroup) GetModPolicy ¶
func (m *ConfigGroup) GetModPolicy() string
func (*ConfigGroup) GetPolicies ¶
func (m *ConfigGroup) GetPolicies() map[string]*ConfigPolicy
func (*ConfigGroup) GetValues ¶
func (m *ConfigGroup) GetValues() map[string]*ConfigValue
func (*ConfigGroup) GetVersion ¶
func (m *ConfigGroup) GetVersion() uint64
func (*ConfigGroup) ProtoMessage ¶
func (*ConfigGroup) ProtoMessage()
func (*ConfigGroup) Reset ¶
func (m *ConfigGroup) Reset()
func (*ConfigGroup) String ¶
func (m *ConfigGroup) String() string
func (*ConfigGroup) Underlying ¶
func (cg *ConfigGroup) Underlying() proto.Message
type ConfigGroupSchema ¶
type ConfigGroupSchema struct { Groups map[string]*ConfigGroupSchema `` /* 132-byte string literal not displayed */ Values map[string]*ConfigValueSchema `` /* 132-byte string literal not displayed */ Policies map[string]*ConfigPolicySchema `` /* 136-byte string literal not displayed */ }
func (*ConfigGroupSchema) Descriptor ¶
func (*ConfigGroupSchema) Descriptor() ([]byte, []int)
func (*ConfigGroupSchema) GetGroups ¶
func (m *ConfigGroupSchema) GetGroups() map[string]*ConfigGroupSchema
func (*ConfigGroupSchema) GetPolicies ¶
func (m *ConfigGroupSchema) GetPolicies() map[string]*ConfigPolicySchema
func (*ConfigGroupSchema) GetValues ¶
func (m *ConfigGroupSchema) GetValues() map[string]*ConfigValueSchema
func (*ConfigGroupSchema) ProtoMessage ¶
func (*ConfigGroupSchema) ProtoMessage()
func (*ConfigGroupSchema) Reset ¶
func (m *ConfigGroupSchema) Reset()
func (*ConfigGroupSchema) String ¶
func (m *ConfigGroupSchema) String() string
type ConfigPolicy ¶
type ConfigPolicy struct { Version uint64 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` Policy *Policy `protobuf:"bytes,2,opt,name=policy" json:"policy,omitempty"` ModPolicy string `protobuf:"bytes,3,opt,name=mod_policy,json=modPolicy" json:"mod_policy,omitempty"` }
func (*ConfigPolicy) Descriptor ¶
func (*ConfigPolicy) Descriptor() ([]byte, []int)
func (*ConfigPolicy) GetModPolicy ¶
func (m *ConfigPolicy) GetModPolicy() string
func (*ConfigPolicy) GetPolicy ¶
func (m *ConfigPolicy) GetPolicy() *Policy
func (*ConfigPolicy) GetVersion ¶
func (m *ConfigPolicy) GetVersion() uint64
func (*ConfigPolicy) ProtoMessage ¶
func (*ConfigPolicy) ProtoMessage()
func (*ConfigPolicy) Reset ¶
func (m *ConfigPolicy) Reset()
func (*ConfigPolicy) String ¶
func (m *ConfigPolicy) String() string
type ConfigPolicySchema ¶
type ConfigPolicySchema struct { }
func (*ConfigPolicySchema) Descriptor ¶
func (*ConfigPolicySchema) Descriptor() ([]byte, []int)
func (*ConfigPolicySchema) ProtoMessage ¶
func (*ConfigPolicySchema) ProtoMessage()
func (*ConfigPolicySchema) Reset ¶
func (m *ConfigPolicySchema) Reset()
func (*ConfigPolicySchema) String ¶
func (m *ConfigPolicySchema) String() string
type ConfigSignature ¶
type ConfigSignature struct { SignatureHeader []byte `protobuf:"bytes,1,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` }
func (*ConfigSignature) Descriptor ¶
func (*ConfigSignature) Descriptor() ([]byte, []int)
func (*ConfigSignature) GetSignature ¶
func (m *ConfigSignature) GetSignature() []byte
func (*ConfigSignature) GetSignatureHeader ¶
func (m *ConfigSignature) GetSignatureHeader() []byte
func (*ConfigSignature) ProtoMessage ¶
func (*ConfigSignature) ProtoMessage()
func (*ConfigSignature) Reset ¶
func (m *ConfigSignature) Reset()
func (*ConfigSignature) StaticallyOpaqueFieldProto ¶
func (cs *ConfigSignature) StaticallyOpaqueFieldProto(name string) (proto.Message, error)
func (*ConfigSignature) StaticallyOpaqueFields ¶
func (cs *ConfigSignature) StaticallyOpaqueFields() []string
func (*ConfigSignature) String ¶
func (m *ConfigSignature) String() string
type ConfigType ¶
type ConfigType int32
ConfigType is an enumeration of possible types for the config. The type field in the config is an int32 for extensibility, but this enum type should generally be used to populate it
const ( ConfigType_CHANNEL ConfigType = 0 ConfigType_RESOURCE ConfigType = 1 )
func (ConfigType) EnumDescriptor ¶
func (ConfigType) EnumDescriptor() ([]byte, []int)
func (ConfigType) String ¶
func (x ConfigType) String() string
type ConfigUpdate ¶
type ConfigUpdate struct { ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId" json:"channel_id,omitempty"` ReadSet *ConfigGroup `protobuf:"bytes,2,opt,name=read_set,json=readSet" json:"read_set,omitempty"` WriteSet *ConfigGroup `protobuf:"bytes,3,opt,name=write_set,json=writeSet" json:"write_set,omitempty"` Type int32 `protobuf:"varint,4,opt,name=type" json:"type,omitempty"` IsolatedData map[string][]byte `` /* 171-byte string literal not displayed */ }
ConfigUpdate is used to submit a subset of config and to have the orderer apply to Config it is always submitted inside a ConfigUpdateEnvelope which allows the addition of signatures resulting in a new total configuration. The update is applied as follows:
- The versions from all of the elements in the read_set is verified against the versions in the existing config. If there is a mismatch in the read versions, then the config update fails and is rejected.
- Any elements in the write_set with the same version as the read_set are ignored.
- The corresponding mod_policy for every remaining element in the write_set is collected.
- Each policy is checked against the signatures from the ConfigUpdateEnvelope, any failing to verify are rejected
- The write_set is applied to the Config and the ConfigGroupSchema verifies that the updates were legal
func (*ConfigUpdate) Descriptor ¶
func (*ConfigUpdate) Descriptor() ([]byte, []int)
func (*ConfigUpdate) DynamicFieldProto ¶
func (*ConfigUpdate) DynamicFields ¶
func (c *ConfigUpdate) DynamicFields() []string
func (*ConfigUpdate) GetChannelId ¶
func (m *ConfigUpdate) GetChannelId() string
func (*ConfigUpdate) GetIsolatedData ¶
func (m *ConfigUpdate) GetIsolatedData() map[string][]byte
func (*ConfigUpdate) GetReadSet ¶
func (m *ConfigUpdate) GetReadSet() *ConfigGroup
func (*ConfigUpdate) GetType ¶
func (m *ConfigUpdate) GetType() int32
func (*ConfigUpdate) GetWriteSet ¶
func (m *ConfigUpdate) GetWriteSet() *ConfigGroup
func (*ConfigUpdate) ProtoMessage ¶
func (*ConfigUpdate) ProtoMessage()
func (*ConfigUpdate) Reset ¶
func (m *ConfigUpdate) Reset()
func (*ConfigUpdate) StaticallyOpaqueMapFieldProto ¶
func (*ConfigUpdate) StaticallyOpaqueMapFields ¶
func (c *ConfigUpdate) StaticallyOpaqueMapFields() []string
func (*ConfigUpdate) String ¶
func (m *ConfigUpdate) String() string
type ConfigUpdateEnvelope ¶
type ConfigUpdateEnvelope struct { ConfigUpdate []byte `protobuf:"bytes,1,opt,name=config_update,json=configUpdate,proto3" json:"config_update,omitempty"` Signatures []*ConfigSignature `protobuf:"bytes,2,rep,name=signatures" json:"signatures,omitempty"` }
func (*ConfigUpdateEnvelope) AsSignedData ¶
func (ce *ConfigUpdateEnvelope) AsSignedData() ([]*SignedData, error)
AsSignedData returns the set of signatures for the ConfigUpdateEnvelope as SignedData or an error indicating why this was not possible
func (*ConfigUpdateEnvelope) Descriptor ¶
func (*ConfigUpdateEnvelope) Descriptor() ([]byte, []int)
func (*ConfigUpdateEnvelope) GetConfigUpdate ¶
func (m *ConfigUpdateEnvelope) GetConfigUpdate() []byte
func (*ConfigUpdateEnvelope) GetSignatures ¶
func (m *ConfigUpdateEnvelope) GetSignatures() []*ConfigSignature
func (*ConfigUpdateEnvelope) ProtoMessage ¶
func (*ConfigUpdateEnvelope) ProtoMessage()
func (*ConfigUpdateEnvelope) Reset ¶
func (m *ConfigUpdateEnvelope) Reset()
func (*ConfigUpdateEnvelope) StaticallyOpaqueFieldProto ¶
func (cue *ConfigUpdateEnvelope) StaticallyOpaqueFieldProto(name string) (proto.Message, error)
func (*ConfigUpdateEnvelope) StaticallyOpaqueFields ¶
func (cue *ConfigUpdateEnvelope) StaticallyOpaqueFields() []string
func (*ConfigUpdateEnvelope) String ¶
func (m *ConfigUpdateEnvelope) String() string
type ConfigValue ¶
type ConfigValue struct { Version uint64 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` ModPolicy string `protobuf:"bytes,3,opt,name=mod_policy,json=modPolicy" json:"mod_policy,omitempty"` }
ConfigValue represents an individual piece of config data
func (*ConfigValue) Descriptor ¶
func (*ConfigValue) Descriptor() ([]byte, []int)
func (*ConfigValue) GetModPolicy ¶
func (m *ConfigValue) GetModPolicy() string
func (*ConfigValue) GetValue ¶
func (m *ConfigValue) GetValue() []byte
func (*ConfigValue) GetVersion ¶
func (m *ConfigValue) GetVersion() uint64
func (*ConfigValue) ProtoMessage ¶
func (*ConfigValue) ProtoMessage()
func (*ConfigValue) Reset ¶
func (m *ConfigValue) Reset()
func (*ConfigValue) String ¶
func (m *ConfigValue) String() string
func (*ConfigValue) Underlying ¶
func (cv *ConfigValue) Underlying() proto.Message
func (*ConfigValue) VariablyOpaqueFields ¶
func (cv *ConfigValue) VariablyOpaqueFields() []string
type ConfigValueSchema ¶
type ConfigValueSchema struct { }
func (*ConfigValueSchema) Descriptor ¶
func (*ConfigValueSchema) Descriptor() ([]byte, []int)
func (*ConfigValueSchema) ProtoMessage ¶
func (*ConfigValueSchema) ProtoMessage()
func (*ConfigValueSchema) Reset ¶
func (m *ConfigValueSchema) Reset()
func (*ConfigValueSchema) String ¶
func (m *ConfigValueSchema) String() string
type Consortium ¶
type Consortium struct {
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}
Consortium represents the consortium context in which the channel was created
func (*Consortium) Descriptor ¶
func (*Consortium) Descriptor() ([]byte, []int)
func (*Consortium) GetName ¶
func (m *Consortium) GetName() string
func (*Consortium) ProtoMessage ¶
func (*Consortium) ProtoMessage()
func (*Consortium) Reset ¶
func (m *Consortium) Reset()
func (*Consortium) String ¶
func (m *Consortium) String() string
type DynamicChannelConfigValue ¶
type DynamicChannelConfigValue struct { *ConfigValue // contains filtered or unexported fields }
func (*DynamicChannelConfigValue) Underlying ¶
func (dccv *DynamicChannelConfigValue) Underlying() proto.Message
func (*DynamicChannelConfigValue) VariablyOpaqueFieldProto ¶
func (dccv *DynamicChannelConfigValue) VariablyOpaqueFieldProto(name string) (proto.Message, error)
type DynamicChannelGroup ¶
type DynamicChannelGroup struct {
*ConfigGroup
}
func (*DynamicChannelGroup) DynamicMapFieldProto ¶
type DynamicConfigGroupFactory ¶
type DynamicConfigGroupFactory interface {
DynamicConfigGroup(cg *ConfigGroup) proto.Message
}
type DynamicConsortiumConfigValue ¶
type DynamicConsortiumConfigValue struct { *ConfigValue // contains filtered or unexported fields }
func (*DynamicConsortiumConfigValue) VariablyOpaqueFieldProto ¶
func (dccv *DynamicConsortiumConfigValue) VariablyOpaqueFieldProto(name string) (proto.Message, error)
type DynamicConsortiumGroup ¶
type DynamicConsortiumGroup struct {
*ConfigGroup
}
func (*DynamicConsortiumGroup) DynamicMapFieldProto ¶
func (*DynamicConsortiumGroup) Underlying ¶
func (dcg *DynamicConsortiumGroup) Underlying() proto.Message
type DynamicConsortiumOrgConfigValue ¶
type DynamicConsortiumOrgConfigValue struct { *ConfigValue // contains filtered or unexported fields }
func (*DynamicConsortiumOrgConfigValue) VariablyOpaqueFieldProto ¶
func (dcocv *DynamicConsortiumOrgConfigValue) VariablyOpaqueFieldProto(name string) (proto.Message, error)
type DynamicConsortiumOrgGroup ¶
type DynamicConsortiumOrgGroup struct {
*ConfigGroup
}
func (*DynamicConsortiumOrgGroup) DynamicMapFieldProto ¶
type DynamicConsortiumsGroup ¶
type DynamicConsortiumsGroup struct {
*ConfigGroup
}
func (*DynamicConsortiumsGroup) DynamicMapFieldProto ¶
func (*DynamicConsortiumsGroup) Underlying ¶
func (dcg *DynamicConsortiumsGroup) Underlying() proto.Message
type DynamicConsortiumsGroupFactory ¶
type DynamicConsortiumsGroupFactory struct{}
func (DynamicConsortiumsGroupFactory) DynamicConfigGroup ¶
func (dogf DynamicConsortiumsGroupFactory) DynamicConfigGroup(cg *ConfigGroup) proto.Message
type Envelope ¶
type Envelope struct { // A marshaled Payload Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` // A signature by the creator specified in the Payload header Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` }
Envelope wraps a Payload with a signature so that the message may be authenticated
func (*Envelope) AsSignedData ¶
func (env *Envelope) AsSignedData() ([]*SignedData, error)
AsSignedData returns the signatures for the Envelope as SignedData slice of length 1 or an error indicating why this was not possible
func (*Envelope) Descriptor ¶
func (*Envelope) GetPayload ¶
func (*Envelope) GetSignature ¶
func (*Envelope) ProtoMessage ¶
func (*Envelope) ProtoMessage()
func (*Envelope) StaticallyOpaqueFieldProto ¶
func (*Envelope) StaticallyOpaqueFields ¶
type HashingAlgorithm ¶
type HashingAlgorithm struct { // Currently supported algorithms are: SHAKE256 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` }
HashingAlgorithm is encoded into the configuration transaction as a configuration item of type Chain with a Key of "HashingAlgorithm" and a Value of HashingAlgorithm as marshaled protobuf bytes
func (*HashingAlgorithm) Descriptor ¶
func (*HashingAlgorithm) Descriptor() ([]byte, []int)
func (*HashingAlgorithm) GetName ¶
func (m *HashingAlgorithm) GetName() string
func (*HashingAlgorithm) ProtoMessage ¶
func (*HashingAlgorithm) ProtoMessage()
func (*HashingAlgorithm) Reset ¶
func (m *HashingAlgorithm) Reset()
func (*HashingAlgorithm) String ¶
func (m *HashingAlgorithm) String() string
type Header ¶
type Header struct { ChannelHeader []byte `protobuf:"bytes,1,opt,name=channel_header,json=channelHeader,proto3" json:"channel_header,omitempty"` SignatureHeader []byte `protobuf:"bytes,2,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` }
func (*Header) Descriptor ¶
func (*Header) GetChannelHeader ¶
func (*Header) GetSignatureHeader ¶
func (*Header) ProtoMessage ¶
func (*Header) ProtoMessage()
func (*Header) StaticallyOpaqueFieldProto ¶
func (*Header) StaticallyOpaqueFields ¶
type HeaderType ¶
type HeaderType int32
const ( HeaderType_MESSAGE HeaderType = 0 HeaderType_CONFIG HeaderType = 1 HeaderType_CONFIG_UPDATE HeaderType = 2 HeaderType_ENDORSER_TRANSACTION HeaderType = 3 HeaderType_ORDERER_TRANSACTION HeaderType = 4 HeaderType_DELIVER_SEEK_INFO HeaderType = 5 HeaderType_CHAINCODE_PACKAGE HeaderType = 6 )
func (HeaderType) EnumDescriptor ¶
func (HeaderType) EnumDescriptor() ([]byte, []int)
func (HeaderType) String ¶
func (x HeaderType) String() string
type ImplicitMetaPolicy ¶
type ImplicitMetaPolicy struct { SubPolicy string `protobuf:"bytes,1,opt,name=sub_policy,json=subPolicy" json:"sub_policy,omitempty"` Rule ImplicitMetaPolicy_Rule `protobuf:"varint,2,opt,name=rule,enum=common.ImplicitMetaPolicy_Rule" json:"rule,omitempty"` }
ImplicitMetaPolicy is a policy type which depends on the hierarchical nature of the configuration It is implicit because the rule is generate implicitly based on the number of sub policies It is meta because it depends only on the result of other policies When evaluated, this policy iterates over all immediate child sub-groups, retrieves the policy of name sub_policy, evaluates the collection and applies the rule. For example, with 4 sub-groups, and a policy name of "foo", ImplicitMetaPolicy retrieves each sub-group, retrieves policy "foo" for each subgroup, evaluates it, and, in the case of ANY 1 satisfied is sufficient, ALL would require 4 signatures, and MAJORITY would require 3 signatures.
func (*ImplicitMetaPolicy) Descriptor ¶
func (*ImplicitMetaPolicy) Descriptor() ([]byte, []int)
func (*ImplicitMetaPolicy) GetRule ¶
func (m *ImplicitMetaPolicy) GetRule() ImplicitMetaPolicy_Rule
func (*ImplicitMetaPolicy) GetSubPolicy ¶
func (m *ImplicitMetaPolicy) GetSubPolicy() string
func (*ImplicitMetaPolicy) ProtoMessage ¶
func (*ImplicitMetaPolicy) ProtoMessage()
func (*ImplicitMetaPolicy) Reset ¶
func (m *ImplicitMetaPolicy) Reset()
func (*ImplicitMetaPolicy) String ¶
func (m *ImplicitMetaPolicy) String() string
type ImplicitMetaPolicy_Rule ¶
type ImplicitMetaPolicy_Rule int32
const ( ImplicitMetaPolicy_ANY ImplicitMetaPolicy_Rule = 0 ImplicitMetaPolicy_ALL ImplicitMetaPolicy_Rule = 1 ImplicitMetaPolicy_MAJORITY ImplicitMetaPolicy_Rule = 2 )
func (ImplicitMetaPolicy_Rule) EnumDescriptor ¶
func (ImplicitMetaPolicy_Rule) EnumDescriptor() ([]byte, []int)
func (ImplicitMetaPolicy_Rule) String ¶
func (x ImplicitMetaPolicy_Rule) String() string
type LastConfig ¶
type LastConfig struct {
Index uint64 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
}
LastConfig is the encoded value for the Metadata message which is encoded in the LAST_CONFIGURATION block metadata index
func (*LastConfig) Descriptor ¶
func (*LastConfig) Descriptor() ([]byte, []int)
func (*LastConfig) GetIndex ¶
func (m *LastConfig) GetIndex() uint64
func (*LastConfig) ProtoMessage ¶
func (*LastConfig) ProtoMessage()
func (*LastConfig) Reset ¶
func (m *LastConfig) Reset()
func (*LastConfig) String ¶
func (m *LastConfig) String() string
type Metadata ¶
type Metadata struct { Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` Signatures []*MetadataSignature `protobuf:"bytes,2,rep,name=signatures" json:"signatures,omitempty"` }
Metadata is a common structure to be used to encode block metadata
func (*Metadata) Descriptor ¶
func (*Metadata) GetSignatures ¶
func (m *Metadata) GetSignatures() []*MetadataSignature
func (*Metadata) ProtoMessage ¶
func (*Metadata) ProtoMessage()
type MetadataSignature ¶
type MetadataSignature struct { SignatureHeader []byte `protobuf:"bytes,1,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` }
func (*MetadataSignature) Descriptor ¶
func (*MetadataSignature) Descriptor() ([]byte, []int)
func (*MetadataSignature) GetSignature ¶
func (m *MetadataSignature) GetSignature() []byte
func (*MetadataSignature) GetSignatureHeader ¶
func (m *MetadataSignature) GetSignatureHeader() []byte
func (*MetadataSignature) ProtoMessage ¶
func (*MetadataSignature) ProtoMessage()
func (*MetadataSignature) Reset ¶
func (m *MetadataSignature) Reset()
func (*MetadataSignature) String ¶
func (m *MetadataSignature) String() string
type OrdererAddresses ¶
type OrdererAddresses struct {
Addresses []string `protobuf:"bytes,1,rep,name=addresses" json:"addresses,omitempty"`
}
OrdererAddresses is encoded into the configuration transaction as a configuration item of type Chain with a Key of "OrdererAddresses" and a Value of OrdererAddresses as marshaled protobuf bytes
func (*OrdererAddresses) Descriptor ¶
func (*OrdererAddresses) Descriptor() ([]byte, []int)
func (*OrdererAddresses) GetAddresses ¶
func (m *OrdererAddresses) GetAddresses() []string
func (*OrdererAddresses) ProtoMessage ¶
func (*OrdererAddresses) ProtoMessage()
func (*OrdererAddresses) Reset ¶
func (m *OrdererAddresses) Reset()
func (*OrdererAddresses) String ¶
func (m *OrdererAddresses) String() string
type Payload ¶
type Payload struct { // Header is included to provide identity and prevent replay Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"` // Data, the encoding of which is defined by the type in the header Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` }
Payload is the message contents (and header to allow for signing)
func (*Payload) Descriptor ¶
func (*Payload) ProtoMessage ¶
func (*Payload) ProtoMessage()
func (*Payload) VariablyOpaqueFieldProto ¶
func (*Payload) VariablyOpaqueFields ¶
type Policy ¶
type Policy struct { Type int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` }
Policy expresses a policy which the orderer can evaluate, because there has been some desire expressed to support multiple policy engines, this is typed as a oneof for now
func (*Policy) Descriptor ¶
func (*Policy) ProtoMessage ¶
func (*Policy) ProtoMessage()
func (*Policy) VariablyOpaqueFieldProto ¶
func (*Policy) VariablyOpaqueFields ¶
type Policy_PolicyType ¶
type Policy_PolicyType int32
const ( Policy_UNKNOWN Policy_PolicyType = 0 Policy_SIGNATURE Policy_PolicyType = 1 Policy_MSP Policy_PolicyType = 2 Policy_IMPLICIT_META Policy_PolicyType = 3 )
func (Policy_PolicyType) EnumDescriptor ¶
func (Policy_PolicyType) EnumDescriptor() ([]byte, []int)
func (Policy_PolicyType) String ¶
func (x Policy_PolicyType) String() string
type Signable ¶
type Signable interface { // AsSignedData returns the set of signatures for a structure as SignedData or an error indicating why this was not possible AsSignedData() ([]*SignedData, error) }
Signable types are those which can map their contents to a set of SignedData
type SignatureHeader ¶
type SignatureHeader struct { // Creator of the message, specified as a certificate chain Creator []byte `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` // Arbitrary number that may only be used once. Can be used to detect replay attacks. Nonce []byte `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"` }
func (*SignatureHeader) Descriptor ¶
func (*SignatureHeader) Descriptor() ([]byte, []int)
func (*SignatureHeader) GetCreator ¶
func (m *SignatureHeader) GetCreator() []byte
func (*SignatureHeader) GetNonce ¶
func (m *SignatureHeader) GetNonce() []byte
func (*SignatureHeader) ProtoMessage ¶
func (*SignatureHeader) ProtoMessage()
func (*SignatureHeader) Reset ¶
func (m *SignatureHeader) Reset()
func (*SignatureHeader) StaticallyOpaqueFieldProto ¶
func (sh *SignatureHeader) StaticallyOpaqueFieldProto(name string) (proto.Message, error)
func (*SignatureHeader) StaticallyOpaqueFields ¶
func (sh *SignatureHeader) StaticallyOpaqueFields() []string
func (*SignatureHeader) String ¶
func (m *SignatureHeader) String() string
type SignaturePolicy ¶
type SignaturePolicy struct { // Types that are valid to be assigned to Type: // *SignaturePolicy_SignedBy // *SignaturePolicy_NOutOf_ Type isSignaturePolicy_Type `protobuf_oneof:"Type"` }
SignaturePolicy is a recursive message structure which defines a featherweight DSL for describing policies which are more complicated than 'exactly this signature'. The NOutOf operator is sufficent to express AND as well as OR, as well as of course N out of the following M policies SignedBy implies that the signature is from a valid certificate which is signed by the trusted authority specified in the bytes. This will be the certificate itself for a self-signed certificate and will be the CA for more traditional certificates
func (*SignaturePolicy) Descriptor ¶
func (*SignaturePolicy) Descriptor() ([]byte, []int)
func (*SignaturePolicy) GetNOutOf ¶
func (m *SignaturePolicy) GetNOutOf() *SignaturePolicy_NOutOf
func (*SignaturePolicy) GetSignedBy ¶
func (m *SignaturePolicy) GetSignedBy() int32
func (*SignaturePolicy) GetType ¶
func (m *SignaturePolicy) GetType() isSignaturePolicy_Type
func (*SignaturePolicy) ProtoMessage ¶
func (*SignaturePolicy) ProtoMessage()
func (*SignaturePolicy) Reset ¶
func (m *SignaturePolicy) Reset()
func (*SignaturePolicy) String ¶
func (m *SignaturePolicy) String() string
func (*SignaturePolicy) XXX_OneofFuncs ¶
func (*SignaturePolicy) 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 SignaturePolicyEnvelope ¶
type SignaturePolicyEnvelope struct { Version int32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` Rule *SignaturePolicy `protobuf:"bytes,2,opt,name=rule" json:"rule,omitempty"` Identities []*common1.MSPPrincipal `protobuf:"bytes,3,rep,name=identities" json:"identities,omitempty"` }
SignaturePolicyEnvelope wraps a SignaturePolicy and includes a version for future enhancements
func (*SignaturePolicyEnvelope) Descriptor ¶
func (*SignaturePolicyEnvelope) Descriptor() ([]byte, []int)
func (*SignaturePolicyEnvelope) GetIdentities ¶
func (m *SignaturePolicyEnvelope) GetIdentities() []*common1.MSPPrincipal
func (*SignaturePolicyEnvelope) GetRule ¶
func (m *SignaturePolicyEnvelope) GetRule() *SignaturePolicy
func (*SignaturePolicyEnvelope) GetVersion ¶
func (m *SignaturePolicyEnvelope) GetVersion() int32
func (*SignaturePolicyEnvelope) ProtoMessage ¶
func (*SignaturePolicyEnvelope) ProtoMessage()
func (*SignaturePolicyEnvelope) Reset ¶
func (m *SignaturePolicyEnvelope) Reset()
func (*SignaturePolicyEnvelope) String ¶
func (m *SignaturePolicyEnvelope) String() string
type SignaturePolicy_NOutOf ¶
type SignaturePolicy_NOutOf struct { N int32 `protobuf:"varint,1,opt,name=n" json:"n,omitempty"` Rules []*SignaturePolicy `protobuf:"bytes,2,rep,name=rules" json:"rules,omitempty"` }
func (*SignaturePolicy_NOutOf) Descriptor ¶
func (*SignaturePolicy_NOutOf) Descriptor() ([]byte, []int)
func (*SignaturePolicy_NOutOf) GetN ¶
func (m *SignaturePolicy_NOutOf) GetN() int32
func (*SignaturePolicy_NOutOf) GetRules ¶
func (m *SignaturePolicy_NOutOf) GetRules() []*SignaturePolicy
func (*SignaturePolicy_NOutOf) ProtoMessage ¶
func (*SignaturePolicy_NOutOf) ProtoMessage()
func (*SignaturePolicy_NOutOf) Reset ¶
func (m *SignaturePolicy_NOutOf) Reset()
func (*SignaturePolicy_NOutOf) String ¶
func (m *SignaturePolicy_NOutOf) String() string
type SignaturePolicy_NOutOf_ ¶
type SignaturePolicy_NOutOf_ struct {
NOutOf *SignaturePolicy_NOutOf `protobuf:"bytes,2,opt,name=n_out_of,json=nOutOf,oneof"`
}
type SignaturePolicy_SignedBy ¶
type SignaturePolicy_SignedBy struct {
SignedBy int32 `protobuf:"varint,1,opt,name=signed_by,json=signedBy,oneof"`
}
type SignedData ¶
SignedData is used to represent the general triplet required to verify a signature This is intended to be generic across crypto schemes, while most crypto schemes will include the signing identity and a nonce within the Data, this is left to the crypto implementation
type StaticCollectionConfig ¶
type StaticCollectionConfig struct { // the name of the collection inside the denoted chaincode Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // a reference to a policy residing / managed in the config block // to define which orgs have access to this collection’s private data MemberOrgsPolicy *CollectionPolicyConfig `protobuf:"bytes,2,opt,name=member_orgs_policy,json=memberOrgsPolicy" json:"member_orgs_policy,omitempty"` // the minimum number of internal/external peers required to be sent // private data to RequiredInternalPeerCount int32 `` /* 134-byte string literal not displayed */ RequiredExternalPeerCount int32 `` /* 134-byte string literal not displayed */ }
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.
func (*StaticCollectionConfig) Descriptor ¶
func (*StaticCollectionConfig) Descriptor() ([]byte, []int)
func (*StaticCollectionConfig) GetMemberOrgsPolicy ¶
func (m *StaticCollectionConfig) GetMemberOrgsPolicy() *CollectionPolicyConfig
func (*StaticCollectionConfig) GetName ¶
func (m *StaticCollectionConfig) GetName() string
func (*StaticCollectionConfig) GetRequiredExternalPeerCount ¶
func (m *StaticCollectionConfig) GetRequiredExternalPeerCount() int32
func (*StaticCollectionConfig) GetRequiredInternalPeerCount ¶
func (m *StaticCollectionConfig) GetRequiredInternalPeerCount() int32
func (*StaticCollectionConfig) ProtoMessage ¶
func (*StaticCollectionConfig) ProtoMessage()
func (*StaticCollectionConfig) Reset ¶
func (m *StaticCollectionConfig) Reset()
func (*StaticCollectionConfig) String ¶
func (m *StaticCollectionConfig) String() string
type Status ¶
type Status int32
These status codes are intended to resemble selected HTTP status codes