Documentation ¶
Index ¶
- func BuildCollectionKVSKey(ccname string) string
- func IsCollectionConfigKey(key string) bool
- type Collection
- type CollectionAccessPolicy
- type CollectionStore
- type Filter
- 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 Support
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildCollectionKVSKey ¶
BuildCollectionKVSKey returns the KVS key string for a chaincode, given its name and version
func IsCollectionConfigKey ¶
IsCollectionConfigKey detects if a key is a collection key
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 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 configuration // for the collection with the supplied criteria RetrieveCollectionConfigPackage(common.CollectionCriteria) (*common.CollectionConfigPackage, error) }
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 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 Support ¶
type Support interface { // GetQueryExecutorForLedger returns a query executor for the specified channel GetQueryExecutorForLedger(cid string) (ledger.QueryExecutor, error) // GetCollectionKVSKey returns the name of the collection // given the collection criteria GetCollectionKVSKey(cc common.CollectionCriteria) string // GetIdentityDeserializer returns an IdentityDeserializer // instance for the specified chain GetIdentityDeserializer(chainID string) msp.IdentityDeserializer }
Support is an interface used to inject dependencies