天天看點

Fabric 1.0源代碼分析(36) Peer #EndorserClient(Endorser用戶端)

# Fabric 1.0源代碼筆記 之 Peer #EndorserClient(Endorser用戶端)

## 1、EndorserClient概述

EndorserClient相關代碼分布如下:

* protos/peer/peer.pb.go,EndorserClient接口及實作。

* peer/common/common.go,EndorserClient相關工具函數。

## 2、EndorserClient接口定義

```go

typeEndorserClientinterface {

     //處理Proposal

    ProcessProposal(ctx context.Context, in *SignedProposal, opts ...grpc.CallOption) (*ProposalResponse, error)

}

//代碼在protos/peer/peer.pb.go

```

## 3、EndorserClient接口實作

EndorserClient接口實作,即endorserClient結構體及方法。

typeendorserClientstruct {

    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

## 4、EndorserClient工具函數

//擷取Endorser用戶端

func GetEndorserClient() (pb.EndorserClient, error) {

    clientConn, err := peer.NewPeerClientConnection()

    endorserClient := pb.NewEndorserClient(clientConn)

     return endorserClient, nil

//代碼在peer/common/common.go

Fabric 1.0源代碼分析(36) Peer #EndorserClient(Endorser用戶端)
Fabric 1.0源代碼分析(36) Peer #EndorserClient(Endorser用戶端)

網址:http://www.qukuailianxueyuan.io/

Fabric 1.0源代碼分析(36) Peer #EndorserClient(Endorser用戶端)
Fabric 1.0源代碼分析(36) Peer #EndorserClient(Endorser用戶端)
Fabric 1.0源代碼分析(36) Peer #EndorserClient(Endorser用戶端)
Fabric 1.0源代碼分析(36) Peer #EndorserClient(Endorser用戶端)

繼續閱讀