fabric: github.com/hyperledger/fabric/core/scc/cscc Index | Files | Directories

package cscc

import "github.com/hyperledger/fabric/core/scc/cscc"

Package cscc chaincode configer provides functions to manage configuration transactions as the network is being reconfigured. The configuration transactions arrive from the ordering service to the committer who calls this chaincode. The chaincode also provides peer configuration services such as joining a chain or getting configuration data.


Package Files



const (
    JoinChain      string = "JoinChain"
    GetConfigBlock string = "GetConfigBlock"
    GetChannels    string = "GetChannels"

These are function names from Invoke first parameter

type PeerConfiger Uses

type PeerConfiger struct {
    // contains filtered or unexported fields

PeerConfiger implements the configuration handler for the peer. For every configuration transaction coming in from the ordering service, the committer calls this system chaincode to process the transaction.

func New Uses

func New(
    aclProvider aclmgmt.ACLProvider,
    deployedCCInfoProvider ledger.DeployedChaincodeInfoProvider,
    lr plugindispatcher.LifecycleResources,
    nr plugindispatcher.CollectionAndLifecycleResources,
    policyChecker policy.PolicyChecker,
    p *peer.Peer,
    bccsp bccsp.BCCSP,
) *PeerConfiger

New creates a new instance of the CSCC. Typically, only one will be created per peer instance.

func (*PeerConfiger) Chaincode Uses

func (e *PeerConfiger) Chaincode() shim.Chaincode

func (*PeerConfiger) Init Uses

func (e *PeerConfiger) Init(stub shim.ChaincodeStubInterface) pb.Response

Init is mostly useless from an SCC perspective

func (*PeerConfiger) Invoke Uses

func (e *PeerConfiger) Invoke(stub shim.ChaincodeStubInterface) pb.Response

Invoke is called for the following: # to process joining a chain (called by app as a transaction proposal) # to get the current configuration block (called by app) # to update the configuration block (called by committer) Peer calls this function with 2 arguments: # args[0] is the function name, which must be JoinChain, GetConfigBlock or UpdateConfigBlock # args[1] is a configuration Block if args[0] is JoinChain or UpdateConfigBlock; otherwise it is the chain id TODO: Improve the scc interface to avoid marshal/unmarshal args

func (*PeerConfiger) InvokeNoShim Uses

func (e *PeerConfiger) InvokeNoShim(args [][]byte, sp *pb.SignedProposal) pb.Response

func (*PeerConfiger) Name Uses

func (e *PeerConfiger) Name() string


mocksCode generated by counterfeiter.

Package cscc imports 18 packages (graph) and is imported by 65 packages. Updated 2019-12-05. Refresh now. Tools for package owners.