chaincode_support.go
主要实现 ChaincodeSupport 结构,这是 peer 侧对链码支持的主要数据结构。peer 启动后,会初始化一个该结构体。
其中,runningChaincodes 结构十分重要,其中通过 chaincodeMap 字典结构维护所有关联链码容器的处理句柄。每一个启动后的链码容器都会对应到这里面的一个句柄。
方法主要包括:
Execute(ctxt context.Context, cccid *ccprovider.CCContext, msg *pb.ChaincodeMessage, timeout time.Duration) (*pb.ChaincodeMessage, error)
:在链码侧执行一个交易。HandleChaincodeStream(ctxt context.Context, stream ccintf.ChaincodeStream) error
:响应链码容器消息流。Launch(context context.Context, cccid *ccprovider.CCContext, spec interface{}) (*pb.ChaincodeID, *pb.ChaincodeInput, error)
:启动一个链码容器,等待它完成注册。Register(stream pb.ChaincodeSupport_RegisterServer) error
:创建并初始化 peer 端的 chaincode处理的 Handler。Stop(context context.Context, cccid *ccprovider.CCContext, cds *pb.ChaincodeDeploymentSpec) error
:停止一个链码容器。
Last updated