Documentation

Index

Constants

View Source
const (

	// ApplicationV1_1 is the capabilities string for standard new non-backwards compatible fabric v1.1 application capabilities.
	ApplicationV1_1 = "V1_1"

	// ApplicationV1_2 is the capabilities string for standard new non-backwards compatible fabric v1.2 application capabilities.
	ApplicationV1_2 = "V1_2"

	// ApplicationV1_3 is the capabilities string for standard new non-backwards compatible fabric v1.3 application capabilities.
	ApplicationV1_3 = "V1_3"

	// ApplicationV1_4_2 is the capabilities string for standard new non-backwards compatible fabric v1.4.2 application capabilities.
	ApplicationV1_4_2 = "V1_4_2"

	// ApplicationV2_0 is the capabilities string for standard new non-backwards compatible fabric v2.0 application capabilities.
	ApplicationV2_0 = "V2_0"

	// ApplicationPvtDataExperimental is the capabilities string for private data using the experimental feature of collections/sideDB.
	ApplicationPvtDataExperimental = "V1_1_PVTDATA_EXPERIMENTAL"

	// ApplicationResourcesTreeExperimental is the capabilities string for private data using the experimental feature of collections/sideDB.
	ApplicationResourcesTreeExperimental = "V1_1_RESOURCETREE_EXPERIMENTAL"
)
View Source
const (

	// ChannelV1_1 is the capabilities string for standard new non-backwards compatible fabric v1.1 channel capabilities.
	ChannelV1_1 = "V1_1"

	// ChannelV1_3 is the capabilities string for standard new non-backwards compatible fabric v1.3 channel capabilities.
	ChannelV1_3 = "V1_3"

	// ChannelV1_4_2 is the capabilities string for standard new non-backwards compatible fabric v1.4.2 channel capabilities.
	ChannelV1_4_2 = "V1_4_2"

	// ChannelV1_4_3 is the capabilities string for standard new non-backwards compatible fabric v1.4.3 channel capabilities.
	ChannelV1_4_3 = "V1_4_3"

	// ChannelV2_0 is the capabilities string for standard new non-backwards compatible fabric v2.0 channel capabilities.
	ChannelV2_0 = "V2_0"
)
View Source
const (

	// OrdererV1_1 is the capabilities string for standard new non-backwards compatible Fabric v1.1 orderer capabilities.
	OrdererV1_1 = "V1_1"

	// OrdererV1_4_2 is the capabilities string for standard new non-backwards compatible Fabric v1.4.2 orderer capabilities.
	OrdererV1_4_2 = "V1_4_2"

	// OrdererV2_0 is the capabilities string that defines new Fabric v2.0 orderer capabilities.
	OrdererV2_0 = "V2_0"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplicationProvider

type ApplicationProvider struct {
	// contains filtered or unexported fields
}

    ApplicationProvider provides capabilities information for application level config.

    func NewApplicationProvider

    func NewApplicationProvider(capabilities map[string]*cb.Capability) *ApplicationProvider

      NewApplicationProvider creates a application capabilities provider.

      func (*ApplicationProvider) ACLs

      func (ap *ApplicationProvider) ACLs() bool

        ACLs returns whether ACLs may be specified in the channel application config

        func (ApplicationProvider) CollectionUpgrade

        func (ap ApplicationProvider) CollectionUpgrade() bool

          CollectionUpgrade returns true if this channel is configured to allow updates to existing collection or add new collections through chaincode upgrade (as introduced in v1.2)

          func (*ApplicationProvider) ForbidDuplicateTXIdInBlock

          func (ap *ApplicationProvider) ForbidDuplicateTXIdInBlock() bool

            ForbidDuplicateTXIdInBlock specifies whether two transactions with the same TXId are permitted in the same block or whether we mark the second one as TxValidationCode_DUPLICATE_TXID

            func (*ApplicationProvider) HasCapability

            func (ap *ApplicationProvider) HasCapability(capability string) bool

              HasCapability returns true if the capability is supported by this binary.

              func (*ApplicationProvider) KeyLevelEndorsement

              func (ap *ApplicationProvider) KeyLevelEndorsement() bool

                KeyLevelEndorsement returns true if this channel supports endorsement policies expressible at a ledger key granularity, as described in FAB-8812

                func (*ApplicationProvider) LifecycleV20

                func (ap *ApplicationProvider) LifecycleV20() bool

                  LifecycleV20 indicates whether the peer should use the deprecated and problematic v1.x lifecycle, or whether it should use the newer per channel approve/commit definitions process introduced in v2.0. Note, this should only be used on the endorsing side of peer processing, so that we may safely remove all checks against it in v2.1.

                  func (*ApplicationProvider) MetadataLifecycle

                  func (ap *ApplicationProvider) MetadataLifecycle() bool

                    MetadataLifecycle always returns false

                    func (*ApplicationProvider) PrivateChannelData

                    func (ap *ApplicationProvider) PrivateChannelData() bool

                      PrivateChannelData returns true if support for private channel data (a.k.a. collections) is enabled. In v1.1, the private channel data is experimental and has to be enabled explicitly. In v1.2, the private channel data is enabled by default.

                      func (*ApplicationProvider) StorePvtDataOfInvalidTx

                      func (ap *ApplicationProvider) StorePvtDataOfInvalidTx() bool

                        StorePvtDataOfInvalidTx returns true if the peer needs to store the pvtData of invalid transactions.

                        func (ApplicationProvider) Supported

                        func (r ApplicationProvider) Supported() error

                          Supported checks that all of the required capabilities are supported by this binary.

                          func (*ApplicationProvider) Type

                          func (ap *ApplicationProvider) Type() string

                            Type returns a descriptive string for logging purposes.

                            func (*ApplicationProvider) V1_1Validation

                            func (ap *ApplicationProvider) V1_1Validation() bool

                              V1_1Validation returns true is this channel is configured to perform stricter validation of transactions (as introduced in v1.1).

                              func (*ApplicationProvider) V1_2Validation

                              func (ap *ApplicationProvider) V1_2Validation() bool

                                V1_2Validation returns true if this channel is configured to perform stricter validation of transactions (as introduced in v1.2).

                                func (*ApplicationProvider) V1_3Validation

                                func (ap *ApplicationProvider) V1_3Validation() bool

                                  V1_3Validation returns true if this channel is configured to perform stricter validation of transactions (as introduced in v1.3).

                                  func (*ApplicationProvider) V2_0Validation

                                  func (ap *ApplicationProvider) V2_0Validation() bool

                                    V2_0Validation returns true if this channel supports transaction validation as introduced in v2.0. This includes:

                                    - new chaincode lifecycle
                                    - implicit per-org collections
                                    

                                    type ChannelProvider

                                    type ChannelProvider struct {
                                    	// contains filtered or unexported fields
                                    }

                                      ChannelProvider provides capabilities information for channel level config.

                                      func NewChannelProvider

                                      func NewChannelProvider(capabilities map[string]*cb.Capability) *ChannelProvider

                                        NewChannelProvider creates a channel capabilities provider.

                                        func (*ChannelProvider) ConsensusTypeMigration

                                        func (cp *ChannelProvider) ConsensusTypeMigration() bool

                                          ConsensusTypeMigration return true if consensus-type migration is supported and permitted in both orderer and peer.

                                          func (*ChannelProvider) HasCapability

                                          func (cp *ChannelProvider) HasCapability(capability string) bool

                                            HasCapability returns true if the capability is supported by this binary.

                                            func (*ChannelProvider) MSPVersion

                                            func (cp *ChannelProvider) MSPVersion() msp.MSPVersion

                                              MSPVersion returns the level of MSP support required by this channel.

                                              func (*ChannelProvider) OrgSpecificOrdererEndpoints

                                              func (cp *ChannelProvider) OrgSpecificOrdererEndpoints() bool

                                                OrgSpecificOrdererEndpoints allows for individual orderer orgs to specify their external addresses for their OSNs.

                                                func (ChannelProvider) Supported

                                                func (r ChannelProvider) Supported() error

                                                  Supported checks that all of the required capabilities are supported by this binary.

                                                  func (*ChannelProvider) Type

                                                  func (cp *ChannelProvider) Type() string

                                                    Type returns a descriptive string for logging purposes.

                                                    type OrdererProvider

                                                    type OrdererProvider struct {
                                                    	V20 bool
                                                    	// contains filtered or unexported fields
                                                    }

                                                      OrdererProvider provides capabilities information for orderer level config.

                                                      func NewOrdererProvider

                                                      func NewOrdererProvider(capabilities map[string]*cb.Capability) *OrdererProvider

                                                        NewOrdererProvider creates an orderer capabilities provider.

                                                        func (*OrdererProvider) ConsensusTypeMigration

                                                        func (cp *OrdererProvider) ConsensusTypeMigration() bool

                                                          ConsensusTypeMigration checks whether the orderer permits a consensus-type migration.

                                                          A Kafka-based Ordering Service Node requires these capabilities in order to receive and process a config update with consensus-type migration change. Migration is supported from Kafka to Raft only. If not present, these config updates will be rejected.

                                                          func (*OrdererProvider) ExpirationCheck

                                                          func (cp *OrdererProvider) ExpirationCheck() bool

                                                            ExpirationCheck specifies whether the orderer checks for identity expiration checks when validating messages

                                                            func (*OrdererProvider) HasCapability

                                                            func (cp *OrdererProvider) HasCapability(capability string) bool

                                                              HasCapability returns true if the capability is supported by this binary.

                                                              func (*OrdererProvider) PredictableChannelTemplate

                                                              func (cp *OrdererProvider) PredictableChannelTemplate() bool

                                                                PredictableChannelTemplate specifies whether the v1.0 undesirable behavior of setting the /Channel group's mod_policy to "" and copying versions from the channel config should be fixed or not.

                                                                func (*OrdererProvider) Resubmission

                                                                func (cp *OrdererProvider) Resubmission() bool

                                                                  Resubmission specifies whether the v1.0 non-deterministic commitment of tx should be fixed by re-submitting the re-validated tx.

                                                                  func (OrdererProvider) Supported

                                                                  func (r OrdererProvider) Supported() error

                                                                    Supported checks that all of the required capabilities are supported by this binary.

                                                                    func (*OrdererProvider) Type

                                                                    func (cp *OrdererProvider) Type() string

                                                                      Type returns a descriptive string for logging purposes.

                                                                      func (*OrdererProvider) UseChannelCreationPolicyAsAdmins

                                                                      func (cp *OrdererProvider) UseChannelCreationPolicyAsAdmins() bool

                                                                        UseChannelCreationPolicyAsAdmins determines whether the orderer should use the name "Admins" instead of "ChannelCreationPolicy" in the new channel config template.