写点什么

巧用 Hyperledger Cello 开启 AWS 云端区块链即服务 (BaaS)

  • 2019-10-28
  • 本文字数:3767 字

    阅读完需:约 12 分钟

巧用 Hyperledger Cello 开启AWS云端区块链即服务(BaaS)

区块链作为颠覆式创新的突破性技术,已在世界各地呈现方兴未艾的发展态势。科技领先的企业正在借助区块链的安全特性与信任机制,在供应链金融、银行保理、跨境支付结算等业务领域,进行着业务模式创新及业务价值链重塑。科技的核心竞争力体现在“快”上,利用平台优势可以加速业务创新效能,提升企业的竞争优势。基于 Linux 基金会的 Hyperledger Cello 开源框架,构筑于 AWS 云端的区块链即服务 (BaaS) 平台能够提供功能完善、性能稳定、开箱即用的区块链服务,为业务快速创新提供“区块链+”技术支撑,助力业务部门快速落地区块链应用,融入业务创新生态系统。

(一) Hyperledger Cello 介绍

Cello 是 2017 年新加入 Hyperledger 的一个新区块链项目,并用于部署区块链即服务(BaaS)的工具包,最大限度地减少了创建、管理及终止区块链的时间及工作。



Cello 旨在向区块链生态系统部署区块链即服务(BaaS)模式,以便以更有效的方式提供多租户连锁服务,包括物理机、虚拟机、云和 Docker 环境。Cello 将作为一种服务机制,支持 Hyperledger 旗下的其他项目,包括 Fabric、Sawtooth Lake, Blockchain Explorer 以及 Iroha。


Cello 项目使开发人员能够通过仪表板创建和管理池中的多个区块链,同时使用户能够使用单个请求快速获取区块链上的信息。Cello 利用 Docker API 来管理远程主机中的区块链群集,因此可以轻松部署到按需提供计算资源的云环境中。

(二) Hyperledger Cello 架构

在实现区块链环境快速部署的同时,Cello 也提供了不少对区块链平台进行运行时管理的特性,主要组件参考如下:



  • 管理区块链的全生命周期,包括创建、配置、使用、健康检查、删除等。

  • 支持多种基础架构作为底层资源池,包括裸机、虚拟机、容器云(Docker、Swarm、Kubernetes)等。

  • 支持多种区块链平台及自定义配置(目前以支持超级账本 Fabric 为主)。

  • 支持监控和分析功能,实现对区块链网络和智能合约的运行状况分析。

  • 提供可插拔的框架设计,包括区块链平台、资源调度、监控、驱动代理等都很容易引入第三方实现。

(三) Hyperledger Cello 部署拓扑

Cello 采用了典型的主从(Master-Worker)架构,具体参考如下:



Master 节点负责管理(例如,创建和删除)Worker 节点中的区块链集群,其通过 8080 端口对外提供管理 Dashboard,通过 8081 端口对外提供应用 Dashboard,通过 80 端口对外提供 RESTful API。


Worker 节点负责提供区块链集群的物理资源,例如基于 Docker 主机或 Swarm 的方式启动多个集群,作为提供给用户可选的多个区块链网络环境。

(四)Hyperledger Cello 环境要求


Cello 第三方软件说明,建议选用 Amazon Linux,Master 与 Worker 节点都安装最新版本的 Docker Engine,另外 Master 节点还需安装新版本的 docker-compose,详细内容请参考 User Data(可以直接从后面的链接下载)及后面的操作过程。

1) Cello Master User Data 脚本

https://s3.cn-north-1.amazonaws.com.cn/myvmimport/Cello-Master-userdata.sh


#!/bin/bash

#应用更新

sudo yum update -y

#安装 Docker

sudo yum install docker sysstat git make gettext ksh -y

#修改 Docker 启动配置,增加一个国内镜像库站点

sudo cat > /etc/sysconfig/docker <<EOF

DAEMON_MAXFILES=1048576

OPTIONS=”–default-ulimit nofile=4096:8192 –default-ulimit nproc=2048:4096 –ip-forward=true –iptables=true –registry-mirror=https://registry.docker-cn.com”

DAEMON_PIDFILE_TIMEOUT=10

EOF

#启动 Docker

sudo service docker start


  1. Cello Worker User Data 脚本


https://s3.cn-north-1.amazonaws.com.cn/myvmimport/Cello-Worker-userdata.sh


#!/bin/bash

#应用更新

sudo yum update -y

#安装 Docker

sudo yum install docker sysstat git make gettext ksh -y

#修改 Docker 启动配置,增加一个国内镜像库站点

sudo cat > /etc/sysconfig/docker <<EOF

DAEMON_MAXFILES=1048576

OPTIONS=”-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock –api-cors-header=’*’ –default-ulimit nofile=4096:8192 –default-ulimit nproc=2048:4096 –ip-forward=true –iptables=true –registry-mirror=https://registry.docker-cn.com”

DAEMON_PIDFILE_TIMEOUT=10

EOF

#启动 Docker

sudo service docker start

(五) Hyperledger Cello 安装过程

本章节将不详细解释 AWS EC2 的启动过程,有关此过程请参考 Cello 官方原文。


http://cello.readthedocs.io/en/latest/awsinstall/

1) 启动 EC2 实例需要注意的地方

a)AMI 请选择 Amazon Linux,User Data 脚本仅适用于此环境;

b)针对 Master 与 Worker 节点请采用不同 User Data 脚本;

2) Master 节点 EC2 实例启动后的任务

#SSH 客户端登录到 Master 节点,执行如下操作

sudo pip install -U docker-compose

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

git clone http://gerrit.hyperledger.org/r/cello && cd cello

sudo make setup-master

exit

#退出 SSH 客户端并重新登录到 Master 节点,并启动 Master 节点

cd cello

sudo make start

#可以查看 Master 节点的详细启动日志

sudo make logs

3) Worker 节点 EC2 实例启动后的任务

#SSH 客户端登录到每个 Worker 节点,执行如下操作

git clone http://gerrit.hyperledger.org/r/cello && cd cello

sudo make setup-worker

(六) Hyperledger Cello 功能展示

1) 登录管理界面

可以先参考官方原文


http://hyperledger-cello.readthedocs.io/en/latest/dashboard/#dashboard


具体操作如下:


http://Master_Node_IP:8080 用户名:admin 密码:pass


默认的用户与密码可以在 make 的时候修改 docker-compose.yml 文件。


进去后可以再新建一个管理员与普通用户,并用停用默认用户与密码。


2) 增加主机

点击 Host,把所有的 Docker 主机都添加进去,Name 可以自定义,URL 是 Docker 主机的 IP 地址与端口,确保安全组 2375 已经打开,链容量为 3,具体过程如下:

3) 激活 Chain

Fillup 操作会自动按容量激活每台 Docker Host 上的 Chain,每个 Chain 会在 Worker 节点上启动一组 Docker 容器来支撑其运行。



共 4 个 Docker Host,每台 Chain 容量为 3,所以能看到 12 条活动的 Chain


4) 查看 Chain 信息

当我们点开 Name 为 worker01_0 的 Chain,可以看到 Chain 的信息如下:


a) Chain Id 与 Host Id

b) Hyperledger Explorer 的 URL

c) 支撑该 Chain 的所有 Containers



当我们打开 Hyperledger Explorer 的 URL(需要找到此 Docker Host 对应的公网 IP,安全组入站放行相应的端口,每个 Chain 都可能不一样)


5) 登录普通用户界面

具体操作如下:


http://Master_Node_IP:8081


建议不要使用默认的用户名及密码,使用前面自建的普通用户,点击 Apply Now 继续



按下面的方式提交申请新的 Chain



大约等待 20 秒,刷新页面显示如下,已经是 Running 状态。



点击 Smart Contract,我们选择自带的例子 fabric-map 去 Install 与 Instantiate



这是一个设计好的 Sample,参数可以任意输入。



提交后大约 30 秒左右,屏幕显示如下表示已经成功部署。



切换到 Chain 界面,可以发现已经有 2 个 Block 与 1 个 Smart Contract。



切换到 Invoke 界面,进行 Invoke Call 模拟交易测试,会自动生成 Hash 值。



切换到 Chain 界面,可以看到每个 Block 的 Hash 值及对应的事务信息。



当我们打开 Hyperledger Explorer 的 URL,再切换到 mychannel 就能看到过去 Invoke 的统计信息。


6) 释放已部署的应用

切换到 Chain 界面,点击 Release,将释放 MyApp01 应用及对应用 Chain。


(七) 总结及参考资源

综上所述,通过轻巧地一键式部署操作,在数分钟之内便可在 AWS 云端运行基于 Hyperledger Cello 框架的区块链即服务(BaaS)平台,为业务及 IT 部门提供基于 Hyperledger Fabric 开源技术的区块链服务。业务和科技人员一旦在脑海中闪现出新的“区块链+业务”场景,就可立即上手使用该平台迅速进行场景落地和原型验证,快人一步加速创新产品落地,使“区块链+”创新不再限于纸上谈兵。


该平台极大的降低了用户利用区块链技术的时间成本和技术壁垒,助力企业以区块链技术为科技创新突破口,尝试落地区块链应用,以此扩展新的业务模式,找到新的业务发力点,适配市场热点,让科技更好地支撑业务发展;同时有助于企业储备新的专业知识,在专业技术领域,培养创新型人才,融入创新生态系统,借助外力合作共赢。


[官方说明] https://www.hyperledger.org/projects/cello


[项目源码] https://github.com/hyperledger/cello


[部署文档] http://cello.readthedocs.io/en/latest/


作者介绍:


蒋华


AWS合作伙伴解决方案架构师,已获得AWS解决方案架构师专业级与DevOps Engineer专业级认证,主要负责AWS(中国)合作伙伴的技术支持工作,同时致力于AWS云服务在国内的应用及推广,并在关系型数据库服务、存储服务、分析服务、HA/DR及云端应用迁移方面有着丰富的设计和实战经验。加入AWS之前,曾在IBM(中国)工作12年,历任数据库售前工程师、UNIX服务器资深售前工程师及解决方案架构师,熟悉传统企业IT架构、私有云及混合云部署,在数据库、数据仓库、高可用容灾及企业应用架构等方面有多年实践经验。
复制代码


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/hyperledger-cello-aws-cloud-blockchain-baas/


2019-10-28 08:001142

评论

发布
暂无评论
发现更多内容

通义灵码+云效 DevOps MCP:通过云效工作项自动生成代码并提交请求

阿里巴巴云原生

阿里云 云原生 通义灵码 MCP

2025最新版Java面试八股文PDF

Geek_Yin

编程 程序员 java面试 Java面试题

快手基础大模型团队7篇论文入选人工智能领域顶会ACL 2025

快手技术

acl 快手 论文解读 学术成果

Redis 数据恢复的月光宝盒,闪回到任意指定时间

百度Geek说

DePIN的底层逻辑:让物理基础设施加速市场化

PowerVerse

加密货币 去中心化 算力 #区块链 DePIN

HTTP2.0 从原理到实践,保证把你治得服服帖帖!

左诗右码

AI 本地化部署的详细方案

北京木奇移动技术有限公司

软件外包公司 AI技术应用 AI本地化部署

华南会议|最新日程,2025 Altair区域技术交流会,报名火热进行中!

Altair RapidMiner

人工智能 AI 汽车 数字孪生 CAE

最全的Java面试八股文合集

Geek_Yin

编程 程序员 java面试 Java面试题

Java面试八股文大全(附各大厂面试真题及答案)

Geek_Yin

编程 程序员 java面试 Java面试题

昇腾NPU上基于MindIE服务的AIME和MATH500测评方案

小顺637

大模型 昇腾

中烟创新AI审核平台,打造烟草行业采购全链条合规管理新范式

中烟创新

如何批量查询手机号码归属地,在线工具平台,可按省份分离、按城市分开、按号段分类、按移动联通电信来分别导出excel。

飞舞的键盘

P4.81户外租赁LED显示屏全面解析

Dylan

LED LED display LED显示屏 市场 LED屏幕

通义灵码+云效 DevOps MCP:通过云效工作项自动生成代码并提交请求

阿里云云效

阿里云 通义灵码 MCP

“一代更比一代强”:现代 RAG 架构的演进之路

Baihai IDP

AI LLM 检索增强生成

TikTok账号被封原因及IP关联问题解决办法

Ogcloud

TikTok 云手机 海外云手机 tiktok运营 tiktok封号

Vue3组件通信全攻略:多种方式详解+实战场景,轻松玩转复杂数据流!

量贩潮汐·WholesaleTide

JavaScript Vue 3

深度解读「高盛」人形机器人双研报:主流人形机器人公司梳理和商业化瓶颈(附报告)

机器人头条

科技 大模型 人形机器人 具身智能

AI本地化部署的流程

北京木奇移动技术有限公司

AI技术 软件外包公司 AI本地化

GPU性能怎样影响大模型训练速度?

Ogcloud

gpu 服务器 服务器租用 gpu 算力

告别“算不清的账”,甲方安全的“ROI 之痛”有救了!

塞讯科技

rol

一文就可搞清楚的HarmonyOS NEXT解锁模态页面的“真香”操作

程序员Feri

HarmonyOS NEXT

什么是Redis缓存穿透?redis面试题及答案乐分享(附面试题大全)

程序员高级码农

redis 程序员

郑州工程技术学院赴埃文科技开展访企拓岗促就业活动

郑州埃文科技

埃文科技智能数据引擎产品入选《中国网络安全细分领域产品名录》

郑州埃文科技

背完这套 Java 面试八股文,offer拿到手软

Geek_Yin

编程 程序员 java面试 Java面试题

中科大、月之暗面等开源对话式语音合成模型 MoonCast;ChatGPT 发布「录音模式」,自动录音和生成会议纪要丨日报

RTE开发者社区

家具工厂MES生产管理系统解决方案

万界星空科技

制造业 mes 万界星空科技mes 家具行业 家具mes

鸿蒙仓颉语言开发教程:仓颉语言中的状态存储

幽蓝计划

Java基础八股文面试题总结+答案解析

Geek_Yin

编程 程序员 java面试 Java面试题

巧用 Hyperledger Cello 开启AWS云端区块链即服务(BaaS)_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章