区块链即服务(Blockchain as a Service)是面向企业及开发者的高性能、高可用和高安全的区块链技术平台服务,可以帮助企业和开发人员在云上快速、低成本的创建、部署和管理区块链应用。
Hyperledger Cello 是超级账本项目下面的一个子项目,提供按需部署的功能,可以将区块链部署在各种裸机、虚拟机、容器等环境中。该项目最初由 IBM 发起,目前得到了 Soramitsu, 华为,和 Intel 的赞助。
一. 介绍
使用cello ,每个人都可以轻松地:
- 从头开始快速构建区块链即服务(BaaS)平台。
- 立即供应可定制的区块链,例如 Hyperledger 架构网络 v1.0。
- 在裸机,虚拟云(例如虚拟机,vsphere 云),容器集群(例如 Docker,Swarm,Kubernetes)之上维护运行中的区块链网络池。
- 通过仪表板检查系统状态,调整链号,扩展资源…。
典型的使用场景如下所示:
二. 快速开始
环境准备:
如果准备好环境,那么我们就可以开始 cello 服务。
- 克隆 cello 代码
# git clone https://github.com/hyperledger/cello.git
# cd cello
- 为 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
# make docker
- 启动 cello 服务,默认部署方法是使用 docker-compose,如果您具有 kubernetes 环境,则可以通过将该部署方法更改为 kubernetes
DEPLOY_METHOD=k8s make start
。
#make start
服务启动后,如果使用 docker-compose 方法,则可以看到输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
ddf938ed927e hyperledger/cello-dashboard "bash -c '/config-ng…" 2 days ago Up 2 days 0.0.0.0:8081->80/tcp
cello-dashboard
41ab47784b28 hyperledger/cello-api-engine "/bin/sh -c 'bash /e…" 2 days ago Up 2 days 0.0.0.0:8085->8080/tcp
cello-api-engine
073a5f46276e hyperledger/cello-api-engine "bash -c 'celery -A …" 2 days ago Up 2 days
cello-api-engine-tasks
54d2c615d7d9 postgres:11.1 "docker-entrypoint.s…" 2 days ago Up 2 days 5432/tcp
cello-postgres-server
1e0fc6386891 redis:4.0.13 "docker-entrypoint.s…" 2 days ago Up 2 days 6379/tcp
cello-redis
如果使用 kubernetes 方法进行部署,则输出为:
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.extensions/api-engine 1/1 1 1 7s
deployment.extensions/api-engine-tasks 1/1 1 1 7s
deployment.extensions/postgres 1/1 1 1 8s
deployment.extensions/redis 1/1 1 1 8s
NAME READY STATUS RESTARTS AGE
pod/api-engine-5844d7d9d4-zqw9k 1/1 Running 0 7s
pod/api-engine-tasks-74484d6f45-jj6p9 1/1 Running 0 7s
pod/postgres-774d5cd5f-p5j5l 1/1 Running 0 8s
pod/redis-6bf574b8c5-p2dnl 1/1 Running 0 7s
NAME HOSTS ADDRESS PORTS AGE
ingress.extensions/ingress-api-engine * 80 7s
如果您通过 8081 端口访问仪表板,则默认用户名 / 密码为admin/pass
。
- 停止 cello 服务与开始一样,需要设置
DEPLOY_METHOD
变量。
# make stop
三. 主要特点
- 管理区块链的生命周期,例如自动创建 / 启动 / 停止 / 删除 / 保持健康。
- 支持定制(例如大小,共识)区块链请求,当前我们主要支持Hyperledger 架构。
- 支持本地 Docker 主机,群集或 Kubernetes 作为工作节点。即将提供更多支持。
- 支持从裸机服务器到虚拟机的异构体系结构,例如 X86,POWER 和 Z。
- 通过使用其他组件来扩展监视,日志,运行状况和分析功能。
https://www.ljjyy.com/archives/2019/12/100626.html