privdata

package
v1.1.0-alpha Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2018 License: Apache-2.0 Imports: 10 Imported by: 3,327

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildCollectionKVSKey

func BuildCollectionKVSKey(ccname string) string

BuildCollectionKVSKey returns the KVS key string for a chaincode, given its name and version

func IsCollectionConfigKey

func IsCollectionConfigKey(key string) bool

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

Jump to

Keyboard shortcuts

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