基于hyperledger cello的区块链即服务(BaaS) 搭建
本文于1923天之前发表,文中内容可能已经过时。
区块链即服务(Blockchain as a Service)是面向企业及开发者的高性能、高可用和高安全的区块链技术平台服务,可以帮助企业和开发人员在云上快速、低成本的创建、部署和管理区块链应用。
Hyperledger Cello 是超级账本项目下面的一个子项目,提供按需部署的功能,可以将区块链部署在各种裸机、虚拟机、容器等环境中。该项目最初由IBM发起,目前得到了Soramitsu, 华为,和Intel的赞助。
一. 介绍
使用cello ,每个人都可以轻松地:
- 从头开始快速构建区块链即服务(BaaS)平台。
- 立即供应可定制的区块链,例如Hyperledger架构网络v1.0。
- 在裸机,虚拟云(例如虚拟机,vsphere云),容器集群(例如Docker,Swarm,Kubernetes)之上维护运行中的区块链网络池。
- 通过仪表板检查系统状态,调整链号,扩展资源…。
典型的使用场景如下所示:
二. 快速开始
环境准备:
如果准备好环境,那么我们就可以开始cello服务。
- 克隆cello代码
1 | git clone https://github.com/hyperledger/cello.git |
- 为cello服务构建基本映像(可选,因为当前dockerhub映像自动构建尚未准备好,将来您可以忽略此步骤。)
注意事项 :
pip技巧(加速下载和安装),可以配置下镜像,加速下载和安装。
某些开发包下载过程中会很慢,会出现timeout的情况,解决办法:
查找cello目录下的,dockerfile、Dockerfile.in文件,修改语句 RUN pip install -r ,添加镜像。
例如:
修改前:RUN pip install -r /requirements.txt
修改后:RUN pip install -i http://mirrors.aliyun.com/pypi/simple/ –trusted-host > mirrors.aliyun.com -r /requirements.txt
1 | # make docker |
- 启动cello服务,默认部署方法是使用docker-compose,如果您具有kubernetes环境,则可以通过将该部署方法更改为kubernetes
DEPLOY_METHOD=k8s make start
。
1 | #make start |
服务启动后,如果使用docker-compose方法,则可以看到输出:
1 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS |
如果使用kubernetes方法进行部署,则输出为:
1 | NAME READY UP-TO-DATE AVAILABLE AGE |
如果您通过8081端口访问仪表板,则默认用户名/密码为admin/pass
。
- 停止cello服务与开始一样,需要设置
DEPLOY_METHOD
变量。
1 | # make stop |
三. 主要特点
- 管理区块链的生命周期,例如自动创建/启动/停止/删除/保持健康。
- 支持定制(例如大小,共识)区块链请求,当前我们主要支持Hyperledger架构。
- 支持本地Docker主机,群集或Kubernetes作为工作节点。即将提供更多支持。
- 支持从裸机服务器到虚拟机的异构体系结构,例如X86,POWER和Z。
- 通过使用其他组件来扩展监视,日志,运行状况和分析功能。