作者:向彪
區塊鏈技術進階文章由微芒分散式內容計劃支援,歡迎大家積極參與!
我們先來回顧上一篇文章:
基於區塊鏈的自動抽獎系統從0到1實現(一) | 圓形區塊
前言
專案背景是csdn舉行的2020部落格之星top200的投票活動,當時為了拉票彪哥就開發了《基於區塊鏈的自動抽獎系統》這個專案,這裡就應用了fisco-bcos 區塊鏈平臺的預言機服務解決方案truora。主要是用於獲取鏈下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路徑即可。