Documentation ¶
Index ¶
- func GetPolicies(mspIDs ...string) (signedBy []*common.SignaturePolicy, identities []*mb.MSPPrincipal, err error)
- func NewNOutOfPolicy(n int32, signedBy ...*common.SignaturePolicy) *common.SignaturePolicy
- func NewPrincipal(name string, classification mb.MSPPrincipal_Classification) (*mb.MSPPrincipal, error)
- func NewSignedByPolicy(index int32) *common.SignaturePolicy
- type Collapsable
- type Group
- type GroupOfGroups
- type GroupRetriever
- type Item
- type LoadBalancePolicy
- type MSPPeerRetriever
- type PeerGroup
- type PeerGroupResolver
- func NewPeerGroupResolver(groupRetriever GroupRetriever, lbp LoadBalancePolicy) (PeerGroupResolver, error)
- func NewRandomPeerGroupResolver(sigPolicyEnv *common.SignaturePolicyEnvelope) (PeerGroupResolver, error)
- func NewRoundRobinPeerGroupResolver(sigPolicyEnv *common.SignaturePolicyEnvelope) (PeerGroupResolver, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetPolicies ¶
func GetPolicies(mspIDs ...string) (signedBy []*common.SignaturePolicy, identities []*mb.MSPPrincipal, err error)
GetPolicies creates a set of 'signed by' signature policies and corresponding identities for the given set of MSP IDs
func NewNOutOfPolicy ¶
func NewNOutOfPolicy(n int32, signedBy ...*common.SignaturePolicy) *common.SignaturePolicy
NewNOutOfPolicy creates an NOutOf signature policy
func NewPrincipal ¶
func NewPrincipal(name string, classification mb.MSPPrincipal_Classification) (*mb.MSPPrincipal, error)
NewPrincipal creates a new MSPPrincipal
func NewSignedByPolicy ¶
func NewSignedByPolicy(index int32) *common.SignaturePolicy
NewSignedByPolicy creates a SignaturePolicy at the given index
Types ¶
type Collapsable ¶
type Collapsable interface { // Collapse converts a hierarchical group into a single-level group (if possible). // For example, say G = (A and (B and C) and (D and E) and (F or G)) // then G.Collapse() = (A and B and C and D and E and (F or G)) Collapse() Group }
Collapsable is implemented by any group that can collapse into a simple (non-hierarchical) Group
type Group ¶
type Group interface { // Items returns all of the items Items() []Item // Equals returns true if this Group contains the same items as the given Group Equals(other Group) bool // Reduce reduces the group (which may be a hierarchy of groups) into a simple, non-hierarchical set of groups. // For example, given the group, G=(A and (B or C or D)) // then G.Reduce() = [(A and B) or (A and C) or (A and D)] Reduce() []Group }
Group contains a group of Items
type GroupOfGroups ¶
type GroupOfGroups interface { // GroupOfGroups is also a Group Group // Groups returns all of the groups in this container Groups() []Group // Nof returns a set of groups that includes all possible combinations for the given threshold. // For example, given the group-of-groups, G=(G1, G2, G3), where G1=(A or B), G2=(C or D), G3=(E or F), // then: // - G.Nof(1) = (G1 or G2 or G3) // - G.Nof(2) = ((G1 and G2) or (G1 and G3) or (G2 and G3) // - G.Nof(3) = (G1 and G2 and G3) Nof(threshold int32) (GroupOfGroups, error) }
GroupOfGroups contains a set of groups.
func NewGroupOfGroups ¶
func NewGroupOfGroups(groups []Group) GroupOfGroups
NewGroupOfGroups returns a new group of groups
type GroupRetriever ¶
type GroupRetriever func(peerRetriever MSPPeerRetriever) (GroupOfGroups, error)
GroupRetriever is a function that returns groups of peers
func CompileSignaturePolicy ¶
func CompileSignaturePolicy(sigPolicyEnv *common.SignaturePolicyEnvelope) (GroupRetriever, error)
CompileSignaturePolicy compiles the given signature policy and returns a GroupRetriever
type LoadBalancePolicy ¶
type LoadBalancePolicy interface { // Choose returns one of the peer groups from the given set of peer groups. // This method should never return nil but may return a PeerGroup that contains no peers. Choose(peerGroups []PeerGroup) PeerGroup }
LoadBalancePolicy is used to pick a peer group from a given set of peer groups
func NewRandomLBP ¶
func NewRandomLBP() LoadBalancePolicy
NewRandomLBP returns a random load-balance policy
func NewRoundRobinLBP ¶
func NewRoundRobinLBP() LoadBalancePolicy
NewRoundRobinLBP returns a round-robin load-balance policy
type MSPPeerRetriever ¶
MSPPeerRetriever is a function that retrieves peers by MSPID
type PeerGroup ¶
PeerGroup contains a group of Peers
func NewMSPPeerGroup ¶
func NewMSPPeerGroup(mspID string, peerRetriever MSPPeerRetriever) PeerGroup
NewMSPPeerGroup returns a new MSP PeerGroup
func NewPeerGroup ¶
NewPeerGroup returns a new PeerGroup
type PeerGroupResolver ¶
type PeerGroupResolver interface { // Resolve returns a PeerGroup ensuring that all of the peers in the group are // in the given set of available peers. Resolve(peers []fab.Peer) (PeerGroup, error) }
PeerGroupResolver resolves a group of peers that would (exactly) satisfy a chaincode's endorsement policy.
func NewPeerGroupResolver ¶
func NewPeerGroupResolver(groupRetriever GroupRetriever, lbp LoadBalancePolicy) (PeerGroupResolver, error)
NewPeerGroupResolver returns a new PeerGroupResolver
func NewRandomPeerGroupResolver ¶
func NewRandomPeerGroupResolver(sigPolicyEnv *common.SignaturePolicyEnvelope) (PeerGroupResolver, error)
NewRandomPeerGroupResolver returns a PeerGroupResolver that chooses peers in a round-robin fashion
func NewRoundRobinPeerGroupResolver ¶
func NewRoundRobinPeerGroupResolver(sigPolicyEnv *common.SignaturePolicyEnvelope) (PeerGroupResolver, error)
NewRoundRobinPeerGroupResolver returns a PeerGroupResolver that chooses peers in a round-robin fashion