区块链教程Fabric1.0源代码分析Peer EndorserClient(Endorser客户端)
兄弟连区块链教程Fabric1.0源代码分析Peer EndorserClient(Endorser客户端),2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。
Fabric 1.0源代码笔记 之 Peer #EndorserClient(Endorser客户端)
1、EndorserClient概述
EndorserClient相关代码分布如下:
- protos/peer/peer.pb.go,EndorserClient接口及实现。
- peer/common/common.go,EndorserClient相关工具函数。
2、EndorserClient接口定义
type EndorserClient interface {
//处理Proposal
ProcessProposal(ctx context.Context, in *SignedProposal, opts ...grpc.CallOption) (*ProposalResponse, error)
}
//代码在protos/peer/peer.pb.go
3、EndorserClient接口实现
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
4、EndorserClient工具函数
//获取Endorser客户端
func GetEndorserClient() (pb.EndorserClient, error) {
clientConn, err := peer.NewPeerClientConnection()
endorserClient := pb.NewEndorserClient(clientConn)
return endorserClient, nil
}
//代码在peer/common/common.go
区块链,区块链教程
学习区块链主流开发语言就是Go语言,这是谷歌发布的第二款开源编程语言,可以在不损失应用程序性能的情...
0 声望
1 粉丝
推荐阅读
区块链教程Fabric1.0源代码分析Peer(Endorser服务端)
兄弟连区块链教程Fabric1.0源代码分析Peer(Endorser服务端),2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更...
兄弟连区块链阅读 1.5k
【隐私计算笔谈】MPC系列专题(十一):共享随机数和比特分享
本次科普主要介绍多方比较的实现方法。回忆一下,之前介绍过的Shamir(t,n)秘密分享协议可以实现秘密分享,Shamir(t,n)协议主要基于拉格朗日插值,也可以通俗地理解成𝑛个方程求解𝑛个未知数。
PlatON技术团队赞 1阅读 750
从0系列---Zk sync基础原理
在Eth上有一个Zk sync合约,在Eth外有一条合约对应的平台(或者链),所以交易发到平台上,每一分钟,验证者将一分钟内所有交易以及用户最终状态作为零知识证明的参数输入,生成一个零知识证明为输出结果。将输入输...
一句话阅读 1.6k
【隐私计算笔谈】MPC系列专题(十二):比特比较
在介绍比特比较之前先简单介绍一下比特的或。比特异或的实现方法较为简单,利用之前介绍过的𝐹2下Shamir共享机制的加法就能实现。而比特或则无法直接通过Shamir共享机制的加法或者乘法实现。
PlatON技术团队赞 1阅读 484
【隐私计算笔谈】MPC系列专题(九):OT协议(二)
首先假设Alice是发送方,Bob是接收方,Bob的𝑚比特长的选择比特串为𝑟,\( 𝑟_𝑗 \)表示选择比特串𝑟的第𝑗比特。Bob产生两个𝑚 × 𝑘的随机矩阵A和B:
PlatON技术团队阅读 950
读懂区块链共识机制 :PoW、PoS、PAXOS、RAFT、PBFT
所谓“共识机制”,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。再通俗一点来讲,如果中国一名微...
BSN研习社阅读 938
BSN祝全体技术工作者新春快乐!
新春来年之际,BSN恭祝大家心想事成、健康平安,新的一年里不加班!整理 | 朱珂欣出品 | CSDN程序人生(ID:coder_life)对于很多程序员而言,工作三连无疑就是——“查bug、改bug 、写bug ”。程序员加班的话题,也...
BSN研习社阅读 795
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。