(二)基于区块链的自动抽奖系统从0到1实现

  • 向彪
  • 更新于 2021-03-05 08:45
  • 阅读 5213

独立部署是基于 Docker,Docker-Compose 和 Bash Shell 封装的一个部署工具,提供一键部署 Truora 服务,并连接到已有 FISCO-BCOS 链。

前言

项目背景是csdn举行的2020博客之星TOP200的投票活动,活动具体详情有兴趣的点我了解,为了拉票彪哥就开发了《基于区块链的自动抽奖系统》这个项目。这里就应用了FISCO-BCOS 区块链平台的预言机服务解决方案Truora。目的就是为了感谢投我票的小伙伴们,抽奖一个88元的红包。主要是用于获取链下API 数据,智能合约实现更公平抽奖场景。这里系列文章讲解本次小项目的真实的实施过程。因为在开发的时候并没有记录,所以这里系列文章我们会一步一步的重新来一遍。第二篇文章我们重点讲解《独立部署Truora》。这种情况一般是之前已经部署过FISCO BCOS底层链了。那么我们就可以基于之前已经部署好的FISCO BCOS来部署Truora。

开始动手独立部署Truora

独立部署是基于 Docker,Docker-Compose 和 Bash Shell 封装的一个部署工具,提供一键部署 Truora 服务,并连接到已有 FISCO-BCOS 链。

1.适合以下场景:

已有 FISCO-BCOS 底层节点 使用独立部署工具,部署 Truora 服务时,会部署 Truora-Service 和 Truora-Web 服务,此外,可以选择是否部署一个 MySQL 服务。(https://truora.readthedocs.io/zh_CN/latest/docs/introduction.html) 使用独立部署时,Truora-Service 需要链接到 FISCO-BCOS 节点。需要手动提供链接节点的 sdk 相关文件。 使用独立部署时,如果选择 不部署 MySQL,在部署时,需要提供 MySQL 的链接信息,包括:IP,端口,用户名和密码。

2.部署的服务包括:

Truora-Web Truora-Service MySQL(可选)

3.使用的系统介绍

centos7.5(虚拟机) 在这里插入图片描述

4.下载部署包(推荐使用)

## 从 GitHub 下载最新部署包
wget "https://github.com/WeBankBlockchain/Truora-Service/releases/download/v1.0.0/docker-deploy.zip"

## 解压部署包
unzip docker-deploy.zip

如果需要下载指定版本,在版本列表中 选择相应版本下载。

在这里插入图片描述 在这里插入图片描述

5.进入部署脚本(deploy_single.sh)所在目录,执行命令:

# 自动安装依赖服务,默认从 CDN 拉取 Docker 镜像
# Docker Hub 官方仓库拉取镜像时,不仅速度比较慢,同时成功率也相对较低
# 
# -d : 自动安装系统依赖
# -g : 使用国密
# -m : 部署 MySQL 服务
# -k : 从 Docker Hub 官方仓库拉取 Docker 镜像
bash deploy_single.sh -d

在这里插入图片描述

6.等待脚本自动完成安装过程

过程中需要注意: 配置节点sdk的路径 如下:

e.g:[ /root/webank/deploy/deploy/fiscobcos/nodes/127.0.0.1/sdk ]: /root/fiscobcos/test/nodes/127.0.0.1/sdk

配置mysql信息的连接信息 如下(当然这里是演示,一路enter 正式的项目需要设置复杂的账号和默默,一般都不会用默认的端口):

INFO] User external MySQL.

Enter MySQL IP, default: 127.0.0.1 ? 

Enter MySQL port, default: 3306 ? 

Enter MySQL user, default: truora ? 

Enter MySQL password, default: defaultPassword ? 
[root@localhost test]# bash deploy_single.sh -d
============================================================================================
[INFO] call script [./util/deploy_util.sh] 
+ bash ./util/deploy_util.sh -d
============================================================================================
[INFO] Current deploy root dir : [ /root/fiscobcos/test/util ]
============================================================================================
[INFO] Install requirements
[INFO] [wget] already installed.
[INFO] [curl] already installed.
[INFO] Install Docker.
[INFO] Docker is already installed.
============================================================================================
[INFO] Check requirements.
[INFO] Try to start Docker service.
[INFO] Disabled SELinux temporarily.
setenforce: SELinux is disabled
[INFO] Check Docker is ready to run containers.
9c27e219663c: Loading layer [==================================================>]  15.36kB/15.36kB
Loaded image: hello-world:latest
[INFO] Check minimize available memory.
============================================================================================
[INFO] Check ports.
============================================================================================
[INFO] Deploy services ... 
[INFO] Enter certifications info.

[INFO] Enter sdk path:

e.g:[ /root/webank/deploy/deploy/fiscobcos/nodes/127.0.0.1/sdk ]: /root/fiscobcos/test/nodes/127.0.0.1/sdk
[INFO] User external MySQL.

Enter MySQL IP, default: 127.0.0.1 ? 

Enter MySQL port, default: 3306 ? 

Enter MySQL user, default: truora ? 

Enter MySQL password, default: defaultPassword ? 
[INFO] Deploy Truora of version: [ v1.0.0 ].
==============================================================
[INFO] Generate deploy files success: 

Truora  : [ v1.0.0 ]
============================================================================================
[INFO] Pull Docker images.
[INFO] Docker image [ docker/compose:1.27.4 ] not exists!!

Pull image [ docker/compose:1.27.4 ] from cdn!!
--2021-02-03 17:51:38--  https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBankBlockchain/Truora/docker/official/docker-compose-1.27.4.tar
正在解析主机 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)... 183.56.147.87, 183.56.147.86, 183.56.147.88, ...
正在连接 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)|183.56.147.87|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:81187328 (77M) [application/x-tar]
正在保存至: “docker-compose-1.27.4.tar”

100%[=============================================================================================================>] 81,187,328  3.80MB/s 用时 16s    

2021-02-03 17:51:54 (4.79 MB/s) - 已保存 “docker-compose-1.27.4.tar” [81187328/81187328])

beee9f30bc1f: Loading layer [==================================================>]  5.862MB/5.862MB
96d878488b7a: Loading layer [==================================================>]  4.096kB/4.096kB
03b31e131feb: Loading layer [==================================================>]  65.83MB/65.83MB
6db2e0a439c1: Loading layer [==================================================>]  9.468MB/9.468MB
Loaded image: docker/compose:1.27.4
[INFO] Docker image [ fiscoorg/truora-web:v1.0.0 ] not exists!!

Pull image [ fiscoorg/truora-web:v1.0.0 ] from cdn!!
--2021-02-03 17:52:03--  https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBankBlockchain/Truora/docker/truora/truora-web-v1.0.0.tar
正在解析主机 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)... 183.56.147.86, 183.56.147.88, 183.56.147.84, ...
正在连接 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)|183.56.147.86|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:24883200 (24M) [application/x-tar]
正在保存至: “truora-web-v1.0.0.tar”

100%[=============================================================================================================>] 24,883,200  4.11MB/s 用时 5.2s   

2021-02-03 17:52:08 (4.61 MB/s) - 已保存 “truora-web-v1.0.0.tar” [24883200/24883200])

0fcbbeeeb0d7: Loading layer [==================================================>]  5.881MB/5.881MB
816ad72dad7c: Loading layer [==================================================>]  17.47MB/17.47MB
c4e38c3b23b3: Loading layer [==================================================>]  3.072kB/3.072kB
f07d8248da8b: Loading layer [==================================================>]  4.096kB/4.096kB
aa9a1fbe2932: Loading layer [==================================================>]  3.584kB/3.584kB
474c1b7b4d85: Loading layer [==================================================>]  4.096kB/4.096kB
2ccbf75f1d47: Loading layer [==================================================>]   5.12kB/5.12kB
089df5f82d6c: Loading layer [==================================================>]  1.471MB/1.471MB
Loaded image: fiscoorg/truora-web:v1.0.0
[INFO] Docker image [ fiscoorg/truora-service:v1.0.0 ] not exists!!

Pull image [ fiscoorg/truora-service:v1.0.0 ] from cdn!!
--2021-02-03 17:52:09--  https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBankBlockchain/Truora/docker/truora/truora-service-v1.0.0.tar
正在解析主机 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)... 183.56.147.89, 183.56.147.92, 183.56.147.86, ...
正在连接 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)|183.56.147.89|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:630119424 (601M) [application/x-tar]
正在保存至: “truora-service-v1.0.0.tar”

100%[=============================================================================================================>] 630,119,424 3.76MB/s 用时 2m 29s 

2021-02-03 17:54:39 (4.03 MB/s) - 已保存 “truora-service-v1.0.0.tar” [630119424/630119424])

c95d2191d777: Loading layer [==================================================>]  65.62MB/65.62MB
27502392e386: Loading layer [==================================================>]  15.87kB/15.87kB
9f10818f1f96: Loading layer [==================================================>]  3.072kB/3.072kB
2f7fbf8d5df9: Loading layer [==================================================>]  410.7MB/410.7MB
043ffd2c9b1c: Loading layer [==================================================>]  1.536kB/1.536kB
fc063d5ab031: Loading layer [==================================================>]  102.3MB/102.3MB
20d7207b0483: Loading layer [==================================================>]  35.46MB/35.46MB
5ac5a77392db: Loading layer [==================================================>]  15.96MB/15.96MB
Loaded image: fiscoorg/truora-service:v1.0.0
============================================================================================
[INFO] Generate START and STOP shell scripts.

[INFO] Deploy Truora service SUCCESS!! Try [ bash start.sh ] and Enjoy!!

[INFO]   Start:[ bash start.sh ]
[INFO]   Stop :[ bash stop.sh  ]

如果执行成功后显示 Deploy Truora service SUCCESS!! ,表示部署成功。

7.服务启停

使用 bash start.sh 启动 Truora 服务。 使用 bash stop.sh 停止服务。 在启动时,脚本会依次启动服务,并检测服务启动结果。

[root@localhost tra]# bash start.sh
==============================================================
Root dir: [/root/tra]
Start FISCO-BCOS.
Creating nodes127.0.0.1node0 ... done
Creating nodes127.0.0.1node2 ... done
Creating nodes127.0.0.1node1 ... done
Creating nodes127.0.0.1node3 ... done
[INFO] Wait for FISCO-BCOS nodes start up...
[INFO] FISCO-BCOS nodes start success.

Start WeBASE-Front.
Creating webase-front ... done
[INFO] Wait for WeBASE-Front start up on port:[5002]...
[INFO] WeBASE-Front start success.

String Truora..
Creating truora-service ... done
Creating truora-web     ... done
[INFO] Wait for Truora-Service start up on port:[5021]...
[INFO] Truora-Service start success.

[INFO] Wait for Truora-Web start up on port:[5020]...
[INFO] Truora-Web start SUCCESS.

Truora service start up SUCCESS !!

如果提示 Truora service start up SUCCESS !!,表示 Truora 服务启动成功。

8.访问服务

Truora 服务启动成功后,打开浏览器,输入 http://[IP]:5020,我们这里是:http://192.168.119.131:5020,访问 Truora-Web 服务,成功后如下图所示: 在这里插入图片描述

总结

Truora第二篇系列文章我们重点讲解《独立部署Truora》总体来讲还是比较简单,总结为:下载脚本、执行脚本、启动服务、访问检查服务。只是应用场景是之前已经部署过FISCO BCOS底层链了。那么我们就可以基于之前已经部署好的FISCO BCOS来部署Truora,只需配置节点SDK路径即可。

点赞 2
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
向彪
向彪
0x8822...2ae6
一个来自于神秘湘西的程序猿,专注于区块链的应用落地研究,共享、共识、共建、共赢!~