Documentation ¶
Overview ¶
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.
Index ¶
- Constants
- type PeerConfiger
- func (e *PeerConfiger) Chaincode() shim.Chaincode
- func (e *PeerConfiger) Init(stub shim.ChaincodeStubInterface) pb.Response
- func (e *PeerConfiger) Invoke(stub shim.ChaincodeStubInterface) pb.Response
- func (e *PeerConfiger) InvokeNoShim(args [][]byte, sp *pb.SignedProposal) pb.Response
- func (e *PeerConfiger) JoinChainBySnapshot(snapshotDir string, ...) pb.Response
- func (e *PeerConfiger) Name() string
Constants ¶
const ( JoinChain string = "JoinChain" JoinChainBySnapshot string = "JoinChainBySnapshot" JoinBySnapshotStatus string = "JoinBySnapshotStatus" GetConfigBlock string = "GetConfigBlock" GetChannelConfig string = "GetChannelConfig" GetChannels string = "GetChannels" )
These are function names from Invoke first parameter
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PeerConfiger ¶
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 ¶
func New( aclProvider aclmgmt.ACLProvider, deployedCCInfoProvider ledger.DeployedChaincodeInfoProvider, lr plugindispatcher.LifecycleResources, nr plugindispatcher.CollectionAndLifecycleResources, 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 ¶
func (e *PeerConfiger) Chaincode() shim.Chaincode
func (*PeerConfiger) Init ¶
func (e *PeerConfiger) Init(stub shim.ChaincodeStubInterface) pb.Response
Init is mostly useless from an SCC perspective
func (*PeerConfiger) Invoke ¶
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 ¶
func (e *PeerConfiger) InvokeNoShim(args [][]byte, sp *pb.SignedProposal) pb.Response
func (*PeerConfiger) JoinChainBySnapshot ¶
func (e *PeerConfiger) JoinChainBySnapshot( snapshotDir string, deployedCCInfoProvider ledger.DeployedChaincodeInfoProvider, lr plugindispatcher.LifecycleResources, nr plugindispatcher.CollectionAndLifecycleResources, ) pb.Response
JohnChainBySnapshot will join the channel by the specified snapshot.
func (*PeerConfiger) Name ¶
func (e *PeerConfiger) Name() string