根据前面的步骤,我们基于cli客户端完成了一系列操作,但是正常情况下,我们的工程一般会使用SDK去调用 网络完成交易,因此从这一章开始实践何基于Java SDK调用Fabric2.0网络完成交易。
1.Gateway
在进行实践前,有一个比较新的概念需要了解就是Gateway。 为了应对由于Fabric网络中的变化频繁所造成的后果,Fabric2.0 原本的SDK之上盖了一层网关Gateway,用于减轻应用程序的负担。
具体拓扑结构如下:
MagnetoCorp和DigiBank应用程序(发行和购买)将各自的网络交互委托给其网关。每个网关都了解网络通道拓扑,其中包括两个组织MagnetoCorp和DigiBank的多个peers和order,使应用程序专注于业务逻辑。节点间可以使用gossip协议在组织内部和组织之间相互共识交互。
2.环境准备
系统工具
版本
备注
Window
10
Fabric
2.0
已部署好mychannel通道以及mycc合约到两个组织节点
Java
1.8
Maven
3.5.2
Fabric网络结构 |节点类型 |节点名 |所属组织|ip |服务端口 |--|--|--|--|--| | orderer| orderer.example.com|-|192.168.2.104|7050 | peer | peer0.org1.example.com |org1|192.168.2.104|7051 | peer | peer1.org1.example.com |org1|192.168.2.104|8051 | peer | peer0.org2.example.com |org2|192.168.2.104|9051 | peer | peer1org2.example.com|org2|192.168.2.104|10051 | ca | ca1.org1.example.com|org1|192.168.2.104|7054 | ca | ca2.org1.example.com|org2|192.168.2.104|8054
3.创建基础工程
新建一个Maven工程,添加以下依赖: