hyperledger/cello安装和使用

(一)Hyperledger Cello功能模块介绍

Hyperledger Cello是一种区块链配置和操作系统,可以有效地管理区块链网络。使用cello,每个人都可以轻松地:

1、从头开始快速构建区块链即服务(BaaS)平台。
2、立即提供可自定义的区块链,例如,Hyperledger结构网络v1.0、v1.2。
3、在裸线,虚拟云(例如,虚拟机,vsphere云),容器集群(例如,Docker,Swarm,Kubernetes)之上维护一个运行区块链网络的池。本文使用docker容器。
4、检查系统状态,调整链号,通过仪表板扩展资源

Hyperledger Cello主要分为两大模块,master和worker,遵循典型的Master-Workers架构。

Master:持有Cello服务,通过相应的管理API管理Workers内的区块链网络。通常,主节点提供Web仪表板(端口8080)和RESTful API(端口80)。建议使用Linux(例如,Ubuntu 18.04)作为Master。
Worker:用于保存区块链网络的节点。Cello支持worker node从单个服务器到群集的多种类型。

(二)Master安装

该master包括几种服务:
1、operator dashboard:为运营商提供Web UI。
2、user dashboard:为用户提供Web UI。
3、engine:为连锁消费者提供RESTful API。
4、watchdog:注意健康检查。

系统要求(无论是master节点还是worker节点系统要求都是一样的)
1、硬件:8c16g100g(8c16g100g是官方给的标准。当前使用的硬件为4核8G,暂时没有出现问题)
2、Linux内核> = 3.0.0
3、Docker引擎:1.10.0+(Docker 18.0+支持是实验性的)
4、docker-compose:1.10.0+

该master可以通过2步即可完成部署:
1、克隆代码

	sudo aptitude install git make -y
	git clone http://gerrit.hyperledger.org/r/cello

2、运行安装脚本
首次运行需要运行setup.sh,以后就可以执行make setup-master启动

	#cd cello/scripts/master_node/
	# sh setup.sh

出现以下日志表明安装成功。

All Image downloaded 
Checking local mounted database path /opt/cello/mongo...
Local database path /opt/cello/mongo not existed, creating one
Setup done, please logout and login again.
It's safe to run this script repeatedly.

这个过程将会下载相关的镜像:
hyperledger/cello安装和使用_第1张图片
启动/停止/重新启动

$ SERVER_PUBLIC_IP = xxxx make start  //要启动整个服务,请运行(xxxx请替换为master所在IP)
$ make stop   //停止
$ make restart   //重启

启动服务会启动相关容器
hyperledger/cello安装和使用_第2张图片
启动成功后默认的数据存储目录就是/opt/cello/mongo
可以访问xxxx:8080处的操作员仪表板和xxxx:8081处的用户仪表板,用户名/密码:admin/pass 默认的。

xxxx:8080处的操作员仪表板如下图(如果无法访问,确认防火墙端口)
hyperledger/cello安装和使用_第3张图片
xxxx:8081处的用户仪表板如下图(如果无法访问,确认防火墙端口)
hyperledger/cello安装和使用_第4张图片至此master安装成功。

(三)Worker安装

1、修改docker启动参数,让docker启动时监听2375端口
hyperledger/cello安装和使用_第5张图片
在master节点上验证是否可以访问worker node 节点的docker监听的端口:2375端口

docker -H Worker_Node_IP:2375 info

例如:
docker -H 10.39.43.84:2375 info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.13.1
...

2、安装nfs客户端,并挂载master节点的nfs服务器共享目录

yum install -y nfs-utils
 
systemctl enable rpcbind.service
 
systemctl start rpcbind.service
 
mount -t nfs -o vers=4,loud masterIP:/ /opt/cello
 
ls /opt/cello
fabric-1.0  fabric-1.1  fabric-1.2
如果出现这三个目录说明成功挂载nfs服务器

3、配置worker节点

 cd cello/scripts/worker_node/
 vim setup_worker_node_docker.sh  需要配置master节点IP

在这里插入图片描述
4、启动

make setup-worker

启动时会拉取镜像:
hyperledger/cello安装和使用_第6张图片
至此worker安装成功。

(四)使用教程

1、登录xxxx:8080处的操作员仪表板,点击左侧主机管理添加主机。
hyperledger/cello安装和使用_第7张图片
hyperledger/cello安装和使用_第8张图片
2、创建新的主机,把master和worker进行绑定。
hyperledger/cello安装和使用_第9张图片
3、创建新的主机提交后,会在主机管理页面看到刚创建的主机信息,注意状态是否为Active,可以点击编辑对主机信息进行更改。
hyperledger/cello安装和使用_第10张图片
hyperledger/cello安装和使用_第11张图片
4、点击左侧链管理,点击添加功能创建链,链名称可以随便写,选择指定主机,选择fabric1.0或者fabric1.2,目前不支持fabric1.1,共识选择SOLO,点击提交即可。此时会在worker节点上挂载fabric环境,创建order和peer节点,默认是一个order、两个org、四个peer和两个ca。
hyperledger/cello安装和使用_第12张图片
5、在链管理页面中会看到刚创建的链,需要注意只有在状态为running、健康为OK时,才表示fabric环境创建成功。此时在worker服务器上通过docker ps 即可查看运行的容器。
hyperledger/cello安装和使用_第13张图片
6、通过5操作后,只是创建了fabric环境,peer节点并没有加入通道,可看到使用者为Empyt,需要到xxxx:8081处的用户仪表板添加chain。
hyperledger/cello安装和使用_第14张图片
7、添加chain时需要注意name和network type必须和在操作员仪表板创建的链一致。点击提交后,peer节点就会添加到mychannel(cello默认通道)通道中。通过测试发现只有org1的两个节点在通道中,这属于cello的bug,尚未解决。
hyperledger/cello安装和使用_第15张图片
hyperledger/cello安装和使用_第16张图片
8、通道和节点已经准备好,可以安装和实例化链码。点击左侧SmartContract -->Templates,选择+New SmartContract上传链码,只支持zip压缩包。
hyperledger/cello安装和使用_第17张图片
9、安装链码。在Templates页面看到刚上传的链码,点击Info显示链码详情,选择Deploy导航页安装实例化链码。
hyperledger/cello安装和使用_第18张图片
hyperledger/cello安装和使用_第19张图片
选择版本、chain点击install让输入方法和参数进行实例化,方法选择init,参数根据链码init方法所需参数,点击instantiate即可。
hyperledger/cello安装和使用_第20张图片
在链码详情页如下图所示即表示实例化成功。
hyperledger/cello安装和使用_第21张图片
10、调用链码。选择invoke或者query即可测试链码。
hyperledger/cello安装和使用_第22张图片
hyperledger/cello安装和使用_第23张图片
hyperledger/cello安装和使用_第24张图片
11、经过fabric-sdk-java测试生成的fabric网络可用。

你可能感兴趣的:(cello,fabric,Fabric自动化部署,hyperledger,Cello)