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

这篇文章主要介绍了(一)基于区块链的自动抽奖系统从0到1实现 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。

https://www.interchains.cc/21115.html

(一)基于区块链的自动抽奖系统从0到1实现是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,(一)基于区块链的自动抽奖系统从0到1实现学习起来其实是很简单的,

不多的几个较为抽象的概念也很容易理解,之所以很多人感觉(一)基于区块链的自动抽奖系统从0到1实现比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难

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

  • Truora

Truora 是 FISCO-BCOS 区块链blockchain平台的预言机服务解决方案,是在广泛调研的基础上针对 联盟链 场景设计的可信预言机服务。

前言

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

一、Truora是什么?

Truora 是 FISCO-BCOS 区块链blockchain平台的预言机服务解决方案,是在广泛调研的基础上针对 联盟链 场景设计的可信预言机服务。

区块链blockchain愈发展,对链下数据的需求就会愈强烈,预言机的重要性也会愈发凸显。

作为连接 FISCO-BCOS 联盟链和互联网的桥梁,Truora致力于解决互联网数据安全可信的上链,助力扩宽联盟链的应用场景和丰富联盟链的生态。

Truora 服务主要由后端 Java 组件 Truora-Service 和前端 Vue 组件 Truora-Web 组成。

官方介绍:https://truora.readthedocs.io/zh_CN/latest/docs/introduction.html

二、项目总体架构

(一)基于<a href=区块链blockchain的自动抽奖系统从0到1实现” />

三、项目最终效果展示

(一)基于<a href=区块链blockchain的自动抽奖系统从0到1实现” />

四 、知道了缘由开始动手一键部署Truora

使用一键部署 Truora 服务时,仅支持 Linux 操作系统!! 因为官方的文档已经很详细了,这里就讲重点的步骤,理论的东西就不在概述,但是有兴趣的小伙伴可以自行阅读官方文档: https://truora.readthedocs.io/zh_CN/latest/docs/introduction.html

1.使用的系统介绍

centos7.5(虚拟机) (一)基于<a href=区块链blockchain的自动抽奖系统从0到1实现” />

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

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

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

(一)基于<a href=区块链blockchain的自动抽奖系统从0到1实现” /> (一)基于<a href=区块链blockchain的自动抽奖系统从0到1实现” />

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

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

(一)基于<a href=区块链blockchain的自动抽奖系统从0到1实现” />

4.遇到问题如下(如果服务器没安装过mysql跳过这步):

[root@localhost tra]# bash deploy_all.sh -d ============================================================================================ [INFO] call script [./util/deploy_util.sh] with parameter: [ -m -w -f ] + bash ./util/deploy_util.sh -m -w -f -d ============================================================================================ [INFO] Current deploy root dir : [ /root/tra/util ] ============================================================================================ [INFO] Install requirements [INFO] [openssl] already installed. [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. [WARN] Port:[3306] is already in use, please leave the port:[3306] for service:[MySQL] Aborted, error 5 in command: bash "${__root}/util.sh" check_ports 

上面的报错是说mysql的3306端口冲突了,因为服务我之前已经安装了默认3306端口的mysql数据库了。

解决方案:

查询官方文档得知,一键部署 脚本 deploy_all.sh 和 独立部署 脚本 deploy_single.sh 本质上都是通过调用 util/deploy_util.sh 脚本来完成部署。 区别是deploy_all.sh 脚本执行时,自带 -m,-w,-f 参数。 查看部署脚本参数 bash util/deploy_util.sh -h

[root@localhost tra]# bash util/deploy_util.sh -h ============================================================================================ [INFO] Current deploy root dir : [ /root/tra/util ] Usage:     deploy_util.sh [-k] [-m] [-w] [-f] [-M 3306] [-W 5002] [-B 5020] [-S 5021] [-d] [-g] [-i fiscoorg] [-t] [-p] [-D] [-h]     -k        Pull images from Docker hub.      -m        Deploy a MySQL instance with Docker.     -w        Deploy a WeBASE-Front service.     -f        Deploy a 4 nodes FISCO-BCOS service.      -M        Listen port of MySQL, default 3306.     -W        Listen port of WeBASE-Front, default 5002.     -B        Listen port of Truora-Web, default 5020.     -S        Listen port of Truora-Service, default 5021.      -d        Install dependencies during deployment.     -g        Use guomi.      -i        Organization of docker images, default fiscoorg.     -t        Use [dev] tag for images of Truora-Service and Truora-Web. Only for test.     -p        Pull [dev] latest for images of Truora-Service and Truora-Web. Only works when option [-t] is on.     -D        Set log level of Truora to [ DEBUG ], default [ INFO ].      -h        Show help info. 

(一)基于<a href=区块链blockchain的自动抽奖系统从0到1实现” /> 那么结合上述的资料我们可以得到以下这个命令:

#可以在不使用-m该参数时,不部署 MySQL。需要在部署时输入 MySQL 信息 bash util/deploy_util.sh -w -f

结果如下: (一)基于<a href=区块链blockchain的自动抽奖系统从0到1实现” />

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

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:  FISCO-BCOS  : [ v2.6.0 ] WeBASE-Front    : [ v1.4.2 ] 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:15:47--  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.86, 183.56.147.92, 183.56.147.109, ... 正在连接 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)|183.56.147.86|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:81187328 (77M) [application/x-tar] 正在保存至: “docker-compose-1.27.4.tar”  44% [==================================================================>                                                                                    ] 36,279,46% [====================================================================>                                                                                  ] 37,408,47% [======================================================================>                                                                                ] 38,620,49% [=========================================================================>                                                                             ] 39,896100%[==========================================================================================================================>] 81,187,328  7.29MB/s 用时 20s      2021-02-03 17:16:07 (3.81 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/webase-front:v1.4.2 ] not exists!!  Pull image [ fiscoorg/webase-front:v1.4.2 ] from cdn!! --2021-02-03 17:16:11--  https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBankBlockchain/Truora/docker/WeBASE/webase-front-v1.4.2.tar 正在解析主机 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)... 183.56.147.92, 183.56.147.109, 183.56.147.89, ... 正在连接 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)|183.56.147.92|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:588814336 (562M) [application/x-tar] 正在保存至: “webase-front-v1.4.2.tar”  100%[==========================================================================================================================>] 588,814,336 2.68MB/s 用时 1m 52s   2021-02-03 17:18:04 (5.00 MB/s) - 已保存 “webase-front-v1.4.2.tar” [588814336/588814336])  805802706667: Loading layer [==================================================>]  65.61MB/65.61MB 3fd9df553184: Loading layer [==================================================>]  15.87kB/15.87kB 7a694df0ad6c: Loading layer [==================================================>]  3.072kB/3.072kB 9c061fb764cc: Loading layer [==================================================>]  364.4MB/364.4MB 2851c4990935: Loading layer [==================================================>]  94.14MB/94.14MB f73ead30a09a: Loading layer [==================================================>]  52.58MB/52.58MB 83027d069e4c: Loading layer [==================================================>]  11.99MB/11.99MB Loaded image: fiscoorg/webase-front:v1.4.2 [INFO] Docker image [ fiscoorg/fiscobcos:v2.6.0 ] not exists!!  Pull image [ fiscoorg/fiscobcos:v2.6.0 ] from cdn!! --2021-02-03 17:18:57--  https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBankBlockchain/Truora/docker/FISCO-BCOS/fiscobcos-v2.6.0.tar 正在解析主机 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)... 183.56.147.109, 183.56.147.89, 183.56.147.85, ... 正在连接 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)|183.56.147.109|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:135297024 (129M) [application/x-tar] 正在保存至: “fiscobcos-v2.6.0.tar”  100%[==========================================================================================================================>] 135,297,024 3.21MB/s 用时 38s      2021-02-03 17:19:35 (3.36 MB/s) - 已保存 “fiscobcos-v2.6.0.tar” [135297024/135297024])  7ef368776582: Loading layer [==================================================>]  65.61MB/65.61MB 83f4287e1f04: Loading layer [==================================================>]  991.7kB/991.7kB d3a6da143c91: Loading layer [==================================================>]  15.87kB/15.87kB 8682f9a74649: Loading layer [==================================================>]  3.072kB/3.072kB d99c7442c0d5: Loading layer [==================================================>]  41.45MB/41.45MB 58e8a5a9a5d3: Loading layer [==================================================>]   27.2MB/27.2MB Loaded image: fiscoorg/fiscobcos:v2.6.0 [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:19:39--  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.92, 183.56.147.89, 183.56.147.88, ... 正在连接 osp-1257653870.cos.ap-guangzhou.myqcloud.com (osp-1257653870.cos.ap-guangzhou.myqcloud.com)|183.56.147.92|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:24883200 (24M) [application/x-tar] 正在保存至: “truora-web-v1.0.0.tar”  100%[==========================================================================================================================>] 24,883,200  6.74MB/s 用时 3.6s     2021-02-03 17:19:43 (6.52 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:19:45--  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.88, 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 2.11MB/s 用时 2m 55s   2021-02-03 17:22:40 (3.44 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_all.sh 执行成功后显示 Deploy Truora service SUCCESS!! ,表示部署成功。

6.服务启停

使用 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 服务启动成功。

7.访问服务

Truora 服务启动成功后,打开浏览器,输入 http://[IP]:5020,我们这里是:http://192.168.119.133:5020,访问 Truora-Web 服务,成功后如下图所示: (一)基于<a href=区块链blockchain的自动抽奖系统从0到1实现” />

总结

Truora第一篇系列文章我们重点讲解《一键部署Truora》,通过上面的文章我们可以知道在一键安装前服务器上已经安装了mysql ,那么我们就需要调整我们的一键部署命令及参数了。总体来讲还是比较简单,总结为:下载脚本、执行脚本、启动服务、访问检查服务。

部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/21115.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » (一)基于区块链的自动抽奖系统从0到1实现

提供最优质的资源集合

立即查看 了解详情