common

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2018 License: Apache-2.0 Imports: 7 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
var BlockMetadataIndex_name = map[int32]string{
	0: "SIGNATURES",
	1: "LAST_CONFIG",
	2: "TRANSACTIONS_FILTER",
	3: "ORDERER",
}
View Source
var BlockMetadataIndex_value = map[string]int32{
	"SIGNATURES":          0,
	"LAST_CONFIG":         1,
	"TRANSACTIONS_FILTER": 2,
	"ORDERER":             3,
}
View Source
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

View Source
var ConfigType_name = map[int32]string{
	0: "CHANNEL",
	1: "RESOURCE",
}
View Source
var ConfigType_value = map[string]int32{
	"CHANNEL":  0,
	"RESOURCE": 1,
}
View Source
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.

View Source
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

View Source
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",
	7: "PEER_RESOURCE_UPDATE",
}
View Source
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,
	"PEER_RESOURCE_UPDATE": 7,
}
View Source
var ImplicitMetaPolicy_Rule_name = map[int32]string{
	0: "ANY",
	1: "ALL",
	2: "MAJORITY",
}
View Source
var ImplicitMetaPolicy_Rule_value = map[string]int32{
	"ANY":      0,
	"ALL":      1,
	"MAJORITY": 2,
}
View Source
var Policy_PolicyType_name = map[int32]string{
	0: "UNKNOWN",
	1: "SIGNATURE",
	2: "MSP",
	3: "IMPLICIT_META",
}
View Source
var Policy_PolicyType_value = map[string]int32{
	"UNKNOWN":       0,
	"SIGNATURE":     1,
	"MSP":           2,
	"IMPLICIT_META": 3,
}
View Source
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",
	501: "NOT_IMPLEMENTED",
	503: "SERVICE_UNAVAILABLE",
}
View Source
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,
	"NOT_IMPLEMENTED":          501,
	"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 NewBlock

func NewBlock(seqNum uint64, previousHash []byte) *Block

NewBlock construct a block with no data and no metadata.

func (*Block) Descriptor

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

func (*Block) GetData

func (m *Block) GetData() *BlockData

func (*Block) GetHeader

func (m *Block) GetHeader() *BlockHeader

func (*Block) GetMetadata

func (m *Block) GetMetadata() *BlockMetadata

func (*Block) ProtoMessage

func (*Block) ProtoMessage()

func (*Block) Reset

func (m *Block) Reset()

func (*Block) String

func (m *Block) String() string

type BlockData

type BlockData struct {
	Data [][]byte `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
}

func (*BlockData) Bytes

func (b *BlockData) Bytes() []byte

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) Descriptor() ([]byte, []int)

func (*BlockData) GetData

func (m *BlockData) GetData() [][]byte

func (*BlockData) Hash

func (b *BlockData) Hash() []byte

Hash returns the hash of the marshaled representation of the block data.

func (*BlockData) ProtoMessage

func (*BlockData) ProtoMessage()

func (*BlockData) Reset

func (m *BlockData) Reset()

func (*BlockData) StaticallyOpaqueSliceFieldProto

func (bd *BlockData) StaticallyOpaqueSliceFieldProto(fieldName string, index int) (proto.Message, error)

func (*BlockData) StaticallyOpaqueSliceFields

func (bd *BlockData) StaticallyOpaqueSliceFields() []string

func (*BlockData) String

func (m *BlockData) String() string

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"`
	// If mutual TLS is employed, this represents
	// the hash of the client's TLS certificate
	TlsCertHash []byte `protobuf:"bytes,8,opt,name=tls_cert_hash,json=tlsCertHash,proto3" json:"tls_cert_hash,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) GetTlsCertHash

func (m *ChannelHeader) GetTlsCertHash() []byte

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) Descriptor() ([]byte, []int)

func (*Config) DynamicFieldProto

func (c *Config) DynamicFieldProto(name string, base proto.Message) (proto.Message, error)

func (*Config) DynamicFields

func (c *Config) DynamicFields() []string

func (*Config) GetChannelGroup

func (m *Config) GetChannelGroup() *ConfigGroup

func (*Config) GetSequence

func (m *Config) GetSequence() uint64

func (*Config) GetType

func (m *Config) GetType() int32

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (m *Config) Reset()

func (*Config) String

func (m *Config) String() string

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:

  1. Retrieve the existing configuration
  2. Note the config properties (ConfigValue, ConfigPolicy, ConfigGroup) to be modified
  3. Add any intermediate ConfigGroups to the ConfigUpdate.read_set (sparsely)
  4. Add any additional desired dependencies to ConfigUpdate.read_set (sparsely)
  5. 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
  6. 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)
  7. 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:

  1. All items in the read_set exist at the read versions
  2. 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
  3. 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:

  1. 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.
  2. Any elements in the write_set with the same version as the read_set are ignored.
  3. The corresponding mod_policy for every remaining element in the write_set is collected.
  4. Each policy is checked against the signatures from the ConfigUpdateEnvelope, any failing to verify are rejected
  5. 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 (c *ConfigUpdate) DynamicFieldProto(name string, base proto.Message) (proto.Message, error)

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 (c *ConfigUpdate) StaticallyOpaqueMapFieldProto(name string, key string) (proto.Message, error)

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

func (dcg *DynamicChannelGroup) DynamicMapFieldProto(name string, key string, base proto.Message) (proto.Message, error)

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 (dcg *DynamicConsortiumGroup) DynamicMapFieldProto(name string, key string, base proto.Message) (proto.Message, error)

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

func (dcg *DynamicConsortiumOrgGroup) DynamicMapFieldProto(name string, key string, base proto.Message) (proto.Message, error)

type DynamicConsortiumsGroup

type DynamicConsortiumsGroup struct {
	*ConfigGroup
}

func (*DynamicConsortiumsGroup) DynamicMapFieldProto

func (dcg *DynamicConsortiumsGroup) DynamicMapFieldProto(name string, key string, base proto.Message) (proto.Message, error)

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) Descriptor() ([]byte, []int)

func (*Envelope) GetPayload

func (m *Envelope) GetPayload() []byte

func (*Envelope) GetSignature

func (m *Envelope) GetSignature() []byte

func (*Envelope) ProtoMessage

func (*Envelope) ProtoMessage()

func (*Envelope) Reset

func (m *Envelope) Reset()

func (*Envelope) StaticallyOpaqueFieldProto

func (e *Envelope) StaticallyOpaqueFieldProto(name string) (proto.Message, error)

func (*Envelope) StaticallyOpaqueFields

func (e *Envelope) StaticallyOpaqueFields() []string

func (*Envelope) String

func (m *Envelope) String() string

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 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) Descriptor() ([]byte, []int)

func (*Header) GetChannelHeader

func (m *Header) GetChannelHeader() []byte

func (*Header) GetSignatureHeader

func (m *Header) GetSignatureHeader() []byte

func (*Header) ProtoMessage

func (*Header) ProtoMessage()

func (*Header) Reset

func (m *Header) Reset()

func (*Header) StaticallyOpaqueFieldProto

func (h *Header) StaticallyOpaqueFieldProto(name string) (proto.Message, error)

func (*Header) StaticallyOpaqueFields

func (h *Header) StaticallyOpaqueFields() []string

func (*Header) String

func (m *Header) String() string

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
	HeaderType_PEER_RESOURCE_UPDATE HeaderType = 7
)

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 (*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) Descriptor() ([]byte, []int)

func (*Metadata) GetSignatures

func (m *Metadata) GetSignatures() []*MetadataSignature

func (*Metadata) GetValue

func (m *Metadata) GetValue() []byte

func (*Metadata) ProtoMessage

func (*Metadata) ProtoMessage()

func (*Metadata) Reset

func (m *Metadata) Reset()

func (*Metadata) String

func (m *Metadata) String() string

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) Descriptor() ([]byte, []int)

func (*Payload) GetData

func (m *Payload) GetData() []byte

func (*Payload) GetHeader

func (m *Payload) GetHeader() *Header

func (*Payload) ProtoMessage

func (*Payload) ProtoMessage()

func (*Payload) Reset

func (m *Payload) Reset()

func (*Payload) String

func (m *Payload) String() string

func (*Payload) VariablyOpaqueFieldProto

func (p *Payload) VariablyOpaqueFieldProto(name string) (proto.Message, error)

func (*Payload) VariablyOpaqueFields

func (p *Payload) VariablyOpaqueFields() []string

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) Descriptor() ([]byte, []int)

func (*Policy) GetType

func (m *Policy) GetType() int32

func (*Policy) GetValue

func (m *Policy) GetValue() []byte

func (*Policy) ProtoMessage

func (*Policy) ProtoMessage()

func (*Policy) Reset

func (m *Policy) Reset()

func (*Policy) String

func (m *Policy) String() string

func (*Policy) VariablyOpaqueFieldProto

func (p *Policy) VariablyOpaqueFieldProto(name string) (proto.Message, error)

func (*Policy) VariablyOpaqueFields

func (p *Policy) VariablyOpaqueFields() []string

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, a marshaled msp.SerializedIdentity
	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 (*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

type SignedData struct {
	Data      []byte
	Identity  []byte
	Signature []byte
}

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 peers private data will be sent to upon
	// endorsement. The endorsement would fail if dissemination to at least
	// this number of peers is not achieved.
	RequiredPeerCount int32 `protobuf:"varint,3,opt,name=required_peer_count,json=requiredPeerCount" json:"required_peer_count,omitempty"`
	// The maximum number of peers that private data will be sent to
	// upon endorsement. This number has to be bigger than required_peer_count.
	MaximumPeerCount int32 `protobuf:"varint,4,opt,name=maximum_peer_count,json=maximumPeerCount" json:"maximum_peer_count,omitempty"`
}

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

func (m *StaticCollectionConfig) GetMaximumPeerCount() int32

func (*StaticCollectionConfig) GetMemberOrgsPolicy

func (m *StaticCollectionConfig) GetMemberOrgsPolicy() *CollectionPolicyConfig

func (*StaticCollectionConfig) GetName

func (m *StaticCollectionConfig) GetName() string

func (*StaticCollectionConfig) GetRequiredPeerCount

func (m *StaticCollectionConfig) GetRequiredPeerCount() 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

const (
	Status_UNKNOWN                  Status = 0
	Status_SUCCESS                  Status = 200
	Status_BAD_REQUEST              Status = 400
	Status_FORBIDDEN                Status = 403
	Status_NOT_FOUND                Status = 404
	Status_REQUEST_ENTITY_TOO_LARGE Status = 413
	Status_INTERNAL_SERVER_ERROR    Status = 500
	Status_NOT_IMPLEMENTED          Status = 501
	Status_SERVICE_UNAVAILABLE      Status = 503
)

func (Status) EnumDescriptor

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

func (Status) String

func (x Status) String() string

Jump to

Keyboard shortcuts

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