EndorserClient相关代码分布如下:
type EndorserClient interface {
????//处理Proposal
????ProcessProposal(ctx context.Context, in *SignedProposal, opts ...grpc.CallOption) (*ProposalResponse, error)
}
//代码在protos/peer/peer.pb.go
EndorserClient接口实现,即endorserClient结构体及方法。
type endorserClient struct {
????cc *grpc.ClientConn
}
func NewEndorserClient(cc *grpc.ClientConn) EndorserClient {
????return &endorserClient{cc}
}
func (c *endorserClient) ProcessProposal(ctx context.Context, in *SignedProposal, opts ...grpc.CallOption) (*ProposalResponse, error) {
????out := new(ProposalResponse)
????err := grpc.Invoke(ctx, "/protos.Endorser/ProcessProposal", in, out, c.cc, opts...)
????return out, nil
}
//代码在protos/peer/peer.pb.go
//获取Endorser客户端
func GetEndorserClient() (pb.EndorserClient, error) {
????clientConn, err := peer.NewPeerClientConnection()
????endorserClient := pb.NewEndorserClient(clientConn)
????return endorserClient, nil
}
//代码在peer/common/common.go
感谢关注兄弟连区块链教程分享!
区块链教程Fabric1.0源代码分析Peer EndorserClient(Endorser
原文:http://blog.51cto.com/14041296/2313445