阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

巧用 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:00744

评论

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

NTFS Disk by Omi NTFS:NTFS 磁盘管理器

Rose

NTFS Disk by Omi NTFS NTFS 磁盘管理器

面向中文大模型价值观的评估与对齐研究:“给AI的100瓶毒药”并解毒,守护AI纯净之心

汀丶人工智能

人工智能 大模型 大模型价值

datagrip永久激活破解2023 附datagrip中文安装教程

Rose

ide 编程 datagrip

免费好用的苹果mac必备软件:Mos for Mac(鼠标增强工具)

Rose

苹果软件 鼠标增强 Mos for Mac 免费软件下载

5G双域专网+零信任的神奇魔法

权说安全

5G 零信任

Emby for Mac(多媒体影音库) 1.9.9中文版

iMac小白

PullTube for Mac(在线视频下载器)v1.8.5.30中文激活版

影影绰绰一往直前

高级数学及符号运算:Wolfram Mathematica 14.0中文破解版

Rose

数学软件 Wolfram Mathematica 14

Prompt工程全攻略:15+Prompt框架一网打尽(BROKE、COAST、LangGPT)、学会提示词让大模型更高效

汀丶人工智能

人工智能 大模型 提示工程 提示词 Prompt工程

Magnet for mac(窗口辅助管理工具) 2.14.0中文免激活版

iMac小白

功能强大的虚拟定位软件:AnyGo for Mac

Rose

虚拟定位 AnyGo 中文破解

mac创意图片编辑器:Luminar Neo破解版下载

Rose

容器镜像加速指南:探索 Kubernetes 缓存最佳实践

SEAL安全

云计算 Kubernetes 容器

工具分享丨分析GreatSQL Binglog神器

GreatSQL

自定义限速功能实践——Caffeine

FunTester

DBeaverUE24好用的苹果电脑数据库(DBeaver Ultimate最新破解 )

Rose

数据库 Mac软件 DBeaver Ultimate

macOS 14 Sonoma(苹果电脑mac系统) pkg完整安装包14.4正式版

Rose

苹果系统 macOS 14 Sonoma

对线面试官 - 如何理解MySQL的索引覆盖和索引下推

派大星

MySQL Java 面试题 #面试

最好用的万年历软件:万年历 for Mac

Rose

万年历 公历农历转换 天气预报

从静态到动态化,Python数据可视化中的Matplotlib和Seaborn

华为云开发者联盟

Python 开发 数据可视化 华为云 华为云开发者联盟

Cookie复用大揭秘:助你在数据处理中事半功倍!

测吧(北京)科技有限公司

测试

Radio Silence for mac(简单好用的防火墙) v3.2激活版

iMac小白

架构实战营-模块一-作业

小畅

用了两周开源堡垒机OneTerm,我有一些建议

37丫37

优秀的数据库编辑工具:TablePlus for Mac

Rose

MySQL 数据库 Mac软件 TablePlus激活版

(小实验)理解编译原理:一个四则运算的解释器

Geek_ee6d52

开班通知 | 全栈开发与自动化测试高薪私教班,手把手带你拿到高薪Offer

测吧(北京)科技有限公司

测试

测试外包服务 | 从人员外包到测试工具、测试平台,提供全方位的测试解决方案~

测吧(北京)科技有限公司

测试

GaussDB(DWS) 业务高可靠的三大利器:CN RETRY、远程读、ELB

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

Cookie复用大揭秘:助你在数据处理中事半功倍!

测试人

软件测试

DaVinci Resolve (达芬奇后期调色)中文破解 一键安装 永久使用

Rose

达芬奇 视频后期特效处理 DaVinci Resolve 破解

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