客户端执行链码实例化

主要步骤包括:

  • 首先,类似链码安装命令,需要创建一个 SignedProposal 消息。注意 instantiate 和 upgrade 支持 policy、escc、vscc 等参数。LSCC 的 ChaincodeSpec 结构中,Input 中包括类型(“deploy”)、通道 ID、ChaincodeDeploymentSpec 结构、背书策略、escc 和 vscc 等。

  • 调用 EndorserClient,发送 gRPC 消息,将签名后的 Proposal 发给指定的 Peer 节点(Endorser),调用 ProcessProposal(ctx context.Context, in *SignedProposal, opts ...grpc.CallOption) (*ProposalResponse, error) 方法,进行背书处理。节点会模拟运行 LSCC 的调用交易,启动链码容器。实例化成功后会返回 ProposalResponse 消息(其中包括背书签名)。

  • 根据 Peer 返回的 ProposalResponse 消息,创建一个 SignedTX(Envelop 结构的交易,带有签名)。

  • 使用 BroadcastClient 将交易消息通过 gRPC 通道发给 Orderer,Orderer 会进行全网排序,并广播给 Peer 进行确认提交。

Last updated