Documentation ¶
Index ¶
- func BuildCollectionKVSKey(ccname string) string
- func GetCCNameFromCollectionConfigKey(key string) string
- func IsCollectionConfigKey(key string) bool
- func ParseCollectionConfig(colBytes []byte) (*common.CollectionConfigPackage, error)
- func RetrieveCollectionConfigPackageFromState(cc common.CollectionCriteria, state State) (*common.CollectionConfigPackage, error)
- type Collection
- type CollectionAccessPolicy
- type CollectionFilter
- type CollectionPersistenceConfigs
- type CollectionStore
- type Filter
- type MembershipProvider
- type NoSuchCollectionError
- type SimpleCollection
- func (sc *SimpleCollection) AccessFilter() Filter
- func (sc *SimpleCollection) CollectionID() string
- func (sc *SimpleCollection) MaximumPeerCount() int
- func (sc *SimpleCollection) MemberOrgs() []string
- func (sc *SimpleCollection) RequiredPeerCount() int
- func (sc *SimpleCollection) Setup(collectionConfig *common.StaticCollectionConfig, ...) error
- type SimpleCollectionPersistenceConfigs
- type State
- type Support
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildCollectionKVSKey ¶
BuildCollectionKVSKey constructs the collection config key for a given chaincode name
func GetCCNameFromCollectionConfigKey ¶
GetCCNameFromCollectionConfigKey returns the chaincode name given a collection config key
func IsCollectionConfigKey ¶
IsCollectionConfigKey detects if a key is a collection key
func ParseCollectionConfig ¶
func ParseCollectionConfig(colBytes []byte) (*common.CollectionConfigPackage, error)
ParseCollectionConfig parses the collection configuration from the given serialized representation
func RetrieveCollectionConfigPackageFromState ¶
func RetrieveCollectionConfigPackageFromState(cc common.CollectionCriteria, state State) (*common.CollectionConfigPackage, error)
RetrieveCollectionConfigPackageFromState retrieves the collection config package from the given key from the given state
Types ¶
type Collection ¶
type Collection interface { // CollectionID returns this collection's ID CollectionID() string // MemberOrgs returns the collection's members as MSP IDs. This serves as // a human-readable way of quickly identifying who is part of a collection. MemberOrgs() []string }
Collection defines a common interface for collections
type CollectionAccessPolicy ¶
type CollectionAccessPolicy interface { // AccessFilter returns a member filter function for a collection AccessFilter() Filter // 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() int // The maximum number of peers that private data will be sent to // upon endorsement. This number has to be bigger than RequiredPeerCount(). MaximumPeerCount() int // MemberOrgs returns the collection's members as MSP IDs. This serves as // a human-readable way of quickly identifying who is part of a collection. MemberOrgs() []string }
CollectionAccessPolicy encapsulates functions for the access policy of a collection
type CollectionFilter ¶
type CollectionFilter interface { // AccessFilter retrieves the collection's filter that matches a given channel and a collectionPolicyConfig AccessFilter(channelName string, collectionPolicyConfig *common.CollectionPolicyConfig) (Filter, error) }
type CollectionPersistenceConfigs ¶
type CollectionPersistenceConfigs interface { // BlockToLive returns the number of blocks after which the collection data expires. // For instance if the value is set to 10, a key last modified by block number 100 // will be purged at block number 111. A zero value is treated same as MaxUint64 BlockToLive() uint64 }
CollectionPersistenceConfigs encapsulates configurations related to persistece of a collection
type CollectionStore ¶
type CollectionStore interface { // GetCollection retrieves the collection in the following way: // If the TxID exists in the ledger, the collection that is returned has the // latest configuration that was committed into the ledger before this txID // was committed. // Else - it's the latest configuration for the collection. RetrieveCollection(common.CollectionCriteria) (Collection, error) // GetCollectionAccessPolicy retrieves a collection's access policy RetrieveCollectionAccessPolicy(common.CollectionCriteria) (CollectionAccessPolicy, error) // RetrieveCollectionConfigPackage retrieves the whole configuration package // for the chaincode with the supplied criteria RetrieveCollectionConfigPackage(common.CollectionCriteria) (*common.CollectionConfigPackage, error) // RetrieveCollectionPersistenceConfigs retrieves the collection's persistence related configurations RetrieveCollectionPersistenceConfigs(cc common.CollectionCriteria) (CollectionPersistenceConfigs, error) CollectionFilter }
CollectionStore retrieves stored collections based on the collection's properties. It works as a collection object factory and takes care of returning a collection object of an appropriate collection type.
func NewSimpleCollectionStore ¶
func NewSimpleCollectionStore(s Support) CollectionStore
NewSimpleCollectionStore returns a collection stored backed by a ledger supplied by the specified ledgerGetter with an internal name formed as specified by the supplied collectionNamer function
type Filter ¶
type Filter func(common.SignedData) bool
Filter defines a rule that filters peers according to data signed by them. The Identity in the SignedData is a SerializedIdentity of a peer. The Data is a message the peer signed, and the Signature is the corresponding Signature on that Data. Returns: True, if the policy holds for the given signed data.
False otherwise
type MembershipProvider ¶
type MembershipProvider struct {
// contains filtered or unexported fields
}
MembershipProvider can be used to check whether a peer is eligible to a collection or not
func NewMembershipInfoProvider ¶
func NewMembershipInfoProvider(selfSignedData common.SignedData, filter CollectionFilter) *MembershipProvider
NewMembershipInfoProvider returns MembershipProvider
func (*MembershipProvider) AmMemberOf ¶
func (m *MembershipProvider) AmMemberOf(channelName string, collectionPolicyConfig *common.CollectionPolicyConfig) (bool, error)
AmMemberOf checks whether the current peer is a member of the given collection config
type NoSuchCollectionError ¶
type NoSuchCollectionError common.CollectionCriteria
func (NoSuchCollectionError) Error ¶
func (f NoSuchCollectionError) Error() string
type SimpleCollection ¶
type SimpleCollection struct {
// contains filtered or unexported fields
}
SimpleCollection implements a collection with static properties and a public member set
func (*SimpleCollection) AccessFilter ¶
func (sc *SimpleCollection) AccessFilter() Filter
AccessFilter returns the member filter function that evaluates signed data against the member access policy of this collection
func (*SimpleCollection) CollectionID ¶
func (sc *SimpleCollection) CollectionID() string
CollectionID returns the collection's ID
func (*SimpleCollection) MaximumPeerCount ¶
func (sc *SimpleCollection) MaximumPeerCount() int
func (*SimpleCollection) MemberOrgs ¶
func (sc *SimpleCollection) MemberOrgs() []string
MemberOrgs returns the MSP IDs that are part of this collection
func (*SimpleCollection) RequiredPeerCount ¶
func (sc *SimpleCollection) RequiredPeerCount() int
RequiredPeerCount returns the minimum number of peers required to send private data to
func (*SimpleCollection) Setup ¶
func (sc *SimpleCollection) Setup(collectionConfig *common.StaticCollectionConfig, deserializer msp.IdentityDeserializer) error
Setup configures a simple collection object based on a given StaticCollectionConfig proto that has all the necessary information
type SimpleCollectionPersistenceConfigs ¶
type SimpleCollectionPersistenceConfigs struct {
// contains filtered or unexported fields
}
func (*SimpleCollectionPersistenceConfigs) BlockToLive ¶
func (s *SimpleCollectionPersistenceConfigs) BlockToLive() uint64
BlockToLive return collection's block to live configuration
type State ¶
type State interface { // GetState retrieves the value for the given key in the given namespace GetState(namespace string, key string) ([]byte, error) }
StateGetter retrieves data from the state
type Support ¶
type Support interface { // GetQueryExecutorForLedger returns a query executor for the specified channel GetQueryExecutorForLedger(cid string) (ledger.QueryExecutor, error) // GetIdentityDeserializer returns an IdentityDeserializer // instance for the specified chain GetIdentityDeserializer(chainID string) msp.IdentityDeserializer }
Support is an interface used to inject dependencies