Hyperledger Cello 是一个区块链模块工具包,也是 Linux 基金会托管的 Hyperledger 项目之一。Hyperledger Cello 旨在为区块链生态系统提供按需“即服务”部署模型,以减少创建、管理和终止区块链所需的工作量。它在各种基础设施(例如,裸机、虚拟机和多个容器平台)之上高效且自动地提供多租户区块链服务。Hyperledger Cello最初由IBM提供,赞助商来自Soramitsu、华为和英特尔。

Hyperledger Cello(HLC)是一种区块链配置和操作系统,可帮助人们以更有效的方式使用和管理区块链。
基于先进的区块链技术和现代 PaaS 工具,Cello 提供以下主要功能:
使用 Cello,区块链开发人员可以:
先看看术语(link:https://cello.readthedocs.io/en/latest/terminology/)先了解基本概念。
按照安装指南(link:https://cello.readthedocs.io/en/latest/setup/)启动一个Cello群集。
之后,操作员可以通过操作员仪表板与Cello进行交互。
默认情况下,操作员仪表板将侦听主节点上的8080端口,默认管理员帐户为admin:pass。
第一次打开操作员仪表板时,将没有主机。有两种方法可以将更多主机添加到池中。
然后,您将看到一个跳出的对话框,根据所选类型输入设置信息。

假设要导入本机Docker服务器,您可能需要输入这些字段
成功添加后,您可以在主机页面上找到docker_host,显示为0链和容量是5。
如果要创建vSphere类型主机,可以执行vSphere类型主机创建指南(link:https://cello.readthedocs.io/en/latest/setup_worker_vsphere/)中的步骤。
如果要创建Kubernetes类型主机,可以执行Kubernetes类型主机创建指南(link:https://cello.readthedocs.io/en/latest/setup_worker_kubernetes/)中的步骤。
现在我们在池中有了空闲主机,可以创建新链。
打开Active Chain页面,它现在应该是空的,单击右上角的Add Chain按钮,输入以下字段:
并选择主机docker_host。

单击“创建”按钮会将名称为test_chain的新链添加到池中。
然后,您可以在Active Chain页面上看到它。
如果要手动创建多个链,将会很困难。Cello提供自动化方式来节省时间。
根据您的喜好尝试这些方法。
默认情况下,用户仪表板将侦听主节点上的8081端口,操作员可以使用默认admin:pass凭据登录。或者您可以转到“注册”以创建新帐户。
点击“立即申请”以申请一个新的区块链。填写“Name”字段作为链名称,并为链类型选择“Fabric”。然后将显示一个Fabric - Advance Config for configurations,继续选择默认配置,然后单击提交按钮以请求新的区块链。

默认情况下,有两个智能合约示例可用。您可以通过上传本地智能合约文件来添加新的智能合约。
这个链代码实现了一个存储在状态中的简单映射。
以下是可用的调用函数。
一个查询函数:
在此示例中,我们使用Init来配置账本上的变量的初始状态。该示例接受4个参数作为输入,并在账本上写入验证值。
可以使用以下操作。
单击“fabric-chaincode_example02”智能合约的“...”,然后选择“安装”。在弹出窗口中,选择要安装智能合约的链。

安装智能合约后,单击“实例化”以部署智能合约。在弹出窗口中,选择要实例化智能合约的链。然后单击“新参数”以添加四个参数,例如:“a”,“1000”,“b”,“2000”。

在“调用”页面中,您可以按以下方式执行合约调用。

然后我们查询当前的值a,现在应该是900

如果您想了解更高级的操作技能,请继续阅读操作员仪表板(link:https://cello.readthedocs.io/en/latest/dashboard_operator/)。
如果您想了解链和智能合约的更多用法,请继续访问用户仪表板(link:https://cello.readthedocs.io/en/latest/dashboard_user/)。
在这里,我们讨论主节点上管理服务的体系结构设计。
该架构将遵循以下原则:
遵循松耦合设计,Cello中有3层。
每层应为上层维护稳定的API,以实现可插拔性而无需更改上层代码。

restful的相关实现基于Flask(link:https://cello.readthedocs.io/en/latest/flask.pocoo.org),这是一个基于Werkzeug的Web服务微框架。
选择它的原因包括:
默认情况下,操作员仪表板将侦听主节点上的8080端口,操作员可以使用默认admin:pass凭据登录。
左边的面板使您能够快速跳转到各种功能,包括overview,system status,Hosts,Active Clusters,Inused Clusters和About。
| 名称 | 网址 | 功能 |
|---|---|---|
| 概览 | /index | 查看系统状态的高级概览 |
| 系统状态 | /stat | 查看系统的统计信息 |
| 主机 | /hosts | 操作被系统管理的主机 |
| 活动集群 | /clusters?type=active | 操作池中正在运行的链 |
| 使用中集群 | /clusters?type=inused | 操作系统中被用户占用的链 |

默认概览页面显示系统的总体状态,例如,系统中部署的主机数量、这些主机上运行的群集数量。并且主机和集群都有状态编号。

系统状态页面显示系统中主机和群集统计信息,如类型、活动/非活动。

在“主机”页面中,您可以管理池中的所有现有主机,并添加新主机。主机显示它的Type(例如,用SINGLE表示Native Docker,或用SWARM表示Docker Swarm的),Status(活动或非活动),Chains(在主机中运行了多少个链),Cap(容量)和Log Config(级别,接收器)。那些不可调度的主机将具有灰线
在Action下拉菜单中,您可以
您可以单击该Add Host按钮将更多主机添加到池中。

该Active Chains页面显示系统中所有运行中的链,包括其名称、类型、状态、运行状况、大小和主机。那些已使用的链会有一条灰线。

在Action下拉菜单中,您可以
Add Chain如果存在非充满的主机,则可以单击该按钮将更多链添加到池中。

过滤掉用户占用的那些正在运行的链。
默认情况下,用户仪表板将侦听主节点上的8081端口,操作员可以使用默认admin:pass凭据登录。
左边的面板使您能够快速跳转到各种功能,包括Chain,Invoke,Smart Contract。
| 名称 | 网址 | 功能 |
|---|---|---|
| 登录 | /#/user/login | 用户仪表板登录页面 |
| 链 | /#/chain/index | 查看所有链的高级概览 |
| 链信息 | /#/chain/info/$id | 查看特定链信息 |
| 创建新智能合约的模板 | /#/smart-contract/new | 创建新智能合约的模板 |
| 智能合约模板列表 | /#/smart-contract/index | 查看用户上传的所有智能合约模板 |
| 智能合约模板信息 | /#/smart-contract/info/$id | 查看特定智能合约模板信息 |
| 运行中的智能合约 | /#/smart-contract/running | 所有运行中的智能合约清单 |
| 调用和查询 | /#/smart-contract/invoke-query/$id | 调用和查询智能合约 |
用户可以登录用户仪表板,并安装和使用链。

在此页面中将按用户显示所有安装的链。

在此页面中将显示链的基本信息,例如(块高度、通道数、已安装/实例化的链码数、最近的区块/交易)、操作历史。

在此页面中将列出用户所有上传的智能合约模板,并支持智能合约的多版本。

在此页面中将显示智能合约模板的详细信息,包括(多版本、已部署的智能合约、部署操作)

在此页面中,用户可以调用/查询已部署的智能合约。

在此页面中将列出所有已部署的智能合约,包括(成功/失败)。

在多个服务器上部署Cello,建议至少有1个Master + N(N> = 1)Worker。
该 Master 会包含主要的 Cello 服务(link:https://cello.readthedocs.io/en/latest/service_management/)。
这是整个Cello服务的控制面板,大部分管理工作都应该在这里处理。
Master将管理在Workers中运行的区块链网络。
Workers由Master服务管理,并帮助托管区块链。
主机是由同一资源控制器管理的一组资源,可以是本机Docker主机、Swarm群集、Kubernetes群集或当前的某些云。
通常主机有几个属性:
链通常是一个区块链集群,例如,Fabric网络。
一个链有几个属性:

