阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

评论

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

如何利用 NFTScan NFT API 在 Aptos 网络上进行 Web3 应用程序开发

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

低代码PAAS加速推进企业数字化转型

力软低代码开发平台

低代码 信息化 PaaS平台

语音识别技术在智能家居领域的创新应用与挑战

来自四九城儿

自动化混沌工程 ChaosMeta V0.6 版本发布

ChaosMeta

云原生 自动化 稳定性 混沌工程 攻防演练

pi币商城开发 公链项目开发 dapp开发公司

西安链酷科技

公链开发

特权账号安全管理的难点

尚思卓越

网络安全 数据安全 特权账号管理

打字练习软件 Type Fu mac v4.8.0中文直装版

mac

苹果mac Windows软件 打字练习软件 Type Fu

量化交易软件市值管理开发公司

西安链酷科技

量化交易系统

外贸网站建设攻略:如何建设一个高效的外贸网站

九凌网络

dapp智能合约链游开发公司、链游开发,链游源码出售,基于Dapp合约的链上游戏

西安链酷科技

DAPP系统开发

2023-11-01:用go语言,沿街有一排连续的房屋。每间房屋内都藏有一定的现金, 现在有一位小偷计划从这些房屋中窃取现金, 由于相邻的房屋装有相互连通的防盗系统,所以小偷 不会窃取相邻的房屋, 小

福大大架构师每日一题

福大大架构师每日一题

2023年度openEuler领先商业实践遴选征集工作正式启动

彭飞

高能有料 | 第二届OpenHarmony技术大会议程速递

OpenHarmony开发者

在线涂鸦画板软件哪款好?这7款涂鸦神器值得推荐!

彭宏豪95

效率工具 画图软件 在线白板 涂鸦 绘画软件

Illustrator 2023最新中文破解版 附破解补丁 完美支持M1

晴雯哥

语音识别技术在医疗健康领域的应用与挑战

来自四九城儿

软件测试/测试开发丨利用ChatGPT自动生成架构图

测试人

人工智能 软件测试 ChatGPT

为什么需要对特权账号进行管理

尚思卓越

运维 网络安全 信息安全

Evolving with AR9582: MFC900M - A Legacy of Connectivity and Adaptation

wallyslilly

AR9582

低代码,程序员提高生产力的开发工具

互联网工科生

低代码开发 JNPF

基于eBPF的云原生可观测实践

谐云

软件测试/测试开发丨如何利用ChatGPT完善简历

测试人

人工智能 软件测试 ChatGPT

语音识别技术在智能客服领域的应用与优化

来自四九城儿

云桌面是否可以运行3D软件

青椒云云电脑

桌面云 云桌面

低代码可视化平台 快速搭建油库2D组态管理平台

2D3D前端可视化开发

物联网 可视化 组态软件 组态工具 智慧油库

SketchUp 2019 for Mac(草图大师) v19.1.173中文激活版

mac

草图大师 苹果mac Windows软件 SketchUp 2019 3D设计软件

特权账号管理系统PAM的优势特点

尚思卓越

网络安全 数据安全 PAM

HarmonyOS数据管理与应用数据持久化(一)

HarmonyOS开发者

《完蛋!我被美女包围了》突然火了!世界首个开源贡献榜出炉丨 RTE 开发者日报 Vol.75

声网

GameFi 游戏 NFT 链游开发系统搭建技术

西安链酷科技

gamefi NFT链游

IoT与鸿蒙、低代码、生成式AI,引爆技术浪潮——华为云开发者日南京站成功举办

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 华为云开发者日

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