fabric: github.com/hyperledger/fabric/core/common/sysccprovider Index | Files

package sysccprovider

import "github.com/hyperledger/fabric/core/common/sysccprovider"

Index

Package Files

sysccprovider.go

type ChaincodeInstance Uses

type ChaincodeInstance struct {
    ChainID          string
    ChaincodeName    string
    ChaincodeVersion string
}

ChaincodeInstance is unique identifier of chaincode instance

func (*ChaincodeInstance) String Uses

func (ci *ChaincodeInstance) String() string

type SystemChaincodeProvider Uses

type SystemChaincodeProvider interface {
    // IsSysCC returns true if the supplied chaincode is a system chaincode
    IsSysCC(name string) bool

    // IsSysCCAndNotInvokableCC2CC returns true if the supplied chaincode
    // is a system chaincode and is not invokable through a cc2cc invocation
    IsSysCCAndNotInvokableCC2CC(name string) bool

    // IsSysCCAndNotInvokable returns true if the supplied chaincode
    // is a system chaincode and is not invokable through a proposal
    IsSysCCAndNotInvokableExternal(name string) bool

    // GetQueryExecutorForLedger returns a query executor for the
    // ledger of the supplied channel.
    // That's useful for system chaincodes that require unfettered
    // access to the ledger
    GetQueryExecutorForLedger(cid string) (ledger.QueryExecutor, error)

    // GetApplicationConfig returns the configtxapplication.SharedConfig for the channel
    // and whether the Application config exists
    GetApplicationConfig(cid string) (channelconfig.Application, bool)

    // Returns the policy manager associated to the passed channel
    // and whether the policy manager exists
    PolicyManager(channelID string) (policies.Manager, bool)
}

SystemChaincodeProvider provides an abstraction layer that is used for different packages to interact with code in the system chaincode package without importing it; more methods should be added below if necessary

Package sysccprovider imports 3 packages (graph) and is imported by 32 packages. Updated 2018-07-06. Refresh now. Tools for package owners.