# 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

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